在python代码中简化onchange执行的技术模块

odoo12-addon-onchange-helper的Python项目详细描述


BetaLicense: AGPL-3OCA/server-toolsTranslate me on WeblateTry me on Runbot

这是一个技术模块。它的目标是简化从python代码直接调用onchange方法的过程。

目录

Usage

要使用此模块,您需要:

  • 取决于此模块
  • 调用您的模型。播放更改(值,['field'])

例如,如果要创建销售订单,并且要获取与合作伙伴id字段相关的值(就像从ui填写字段一样)

vals = {‘partner_id’: 1}

vals = self.env[‘sale.order’].play_onchanges(vals, [‘partner_id’])

然后,VAL将更新为Partner_Invoice_ID、Partner_Shipping_ID、Pricelist_ID等。

如果未在vals中设置相应的字段,则将使用默认值处理onchange方法。 如果在字段列表中传递字段名,则可以获取它们。

vals = {‘partner_id’: 1}

vals = self.env[‘sale.order’].play_onchanges(vals, [‘partner_id’, ‘date_order’])

VAL除了更改的值外,还将包含日期顺序的默认值

您也可以在现有记录上使用它:例如:

vals = {‘partner_shipping_id’: 1}

vals = sale.play_onchanges(vals, [‘partner_shipping_id’])

然后用VALS和现有的VAL进行Onchange。VAL将使用合作伙伴发票ID、价格表ID等进行更新。

在场景后面,play\u onchanges将执行为已更改字段列表注册的所有方法,因此不必手动调用每个onchange。为避免在对记录调用方法时出现性能问题,在调用已注册的方法之前,记录将转换为内存记录,以避免在onchange为记录分配值时触发sql updates命令

注意:

  • onchange_字段中的顺序非常重要,因为onchanges方法将按此顺序播放。
  • 如果在vals中使用memory对象,请授予重置该对象的基模型调用中的onchange方法。

Bug Tracker

漏洞在GitHub Issues上跟踪。 如果出现问题,请检查是否已报告您的问题。 如果你先发现了它,请提供详细的 feedback

不要就技术问题直接与贡献者联系。

Credits

Authors

  • Akretion
  • 露营车

Contributors

Maintainers

此模块由OCA维护。

Odoo Community Association

oca,或odoo社区协会,是一个非营利性组织 任务是支持odoo特性和 促进其广泛应用。

这个模块是github上OCA/server-tools项目的一部分。

欢迎您的贡献。要了解如何访问https://odoo-community.org/page/Contribute

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
尝试运行JFLAP。戴软呢帽的罐子23。Java正在抛出异常   无引用的java数组布尔复制   hibernate如何在java SE应用程序中使用JPA EntityManager   java如何使用ORMLite在SQLite中持久化JavaFX属性?   java无法将项目部署到GAE   java:谷歌地图维基百科层   java Resultset(getter/setter类)对象在第二次执行时未删除旧值   s中的java struts2:选择列表>请求的列表键“”作为集合/数组/映射/枚举/迭代器类型   java如何在Karaf 4.0.5中获得BaseDao中的entityManager?   java VSCode未从控制台读取西里尔文   java字体。createFromAsset()返回字体的空指针异常   java错误:将Android Studio从0.6.1更新到0.8.9后,没有合适的构造函数