将计算字段用作域名
项目描述
为了减轻视图域的限制,现在您可以在域属性中定义一个计算字段,并且它相关的方法将返回要应用的域。
目录
用法
当您定义一个视图时,可以在关系字段上指定一个域属性。此属性在显示现有记录以进行选择时作为过滤器进行评估。
<field name="product_id" domain="[('type','=','product')]"/>
为域属性提供的值必须是一个表示有效Odoo域的字符串。此字符串在客户端在一个受限的上下文中进行评估,其中我们可以将表单中存在的字段的值作为右操作数进行引用,以及一组有限的功能。
在这个上下文中,构建复杂的域很困难,我们面临一些限制,例如:
在域中包含涉及x2many字段值的条件的语法复杂。
在x2many的情况下,域的右侧可能涉及大量id(性能问题)。
当修改表单而没有修改触发onchange的字段时,由其他字段的onchange计算出的域不会重新计算。
无法扩展现有域。您必须在专门的插件中完全重新定义域。
等等…
为了减轻这些限制,此新插件允许您在视图的xml定义中将一个字段的值用作另一个字段的域。
<field name="product_id_domain" invisible="1"/>
<field name="product_id" domain="product_id_domain"/>
用作域的字段必须以JSON编码的字符串形式提供域。
product_id_domain = fields.Char(
compute="_compute_product_id_domain",
readonly=True,
store=False,
)
@api.multi
@api.depends('name')
def _compute_product_id_domain(self):
for rec in self:
rec.product_id_domain = json.dumps(
[('type', '=', 'product'), ('name', 'like', rec.name)]
)
错误跟踪器
错误在GitHub Issues上跟踪。如有问题,请检查是否已经有人报告了您的问题。如果您是第一个发现它的人,请通过提供详细且受欢迎的反馈来帮助我们解决它。
请不要直接联系贡献者寻求支持或技术问题的帮助。
致谢
贡献者
Laurent Mignon <laurent.mignon@acsone.eu>
Denis Roussel <denis.roussel@acsone.eu>
Martín Nicolás Cuesta <cuesta.martin.n@hotmail.com>
维护者
本模块由OCA维护。
OCA,或Odoo社区协会,是一个非营利组织,其使命是支持Odoo功能的协作开发并推广其广泛应用。
本模块是GitHub上的OCA/web项目的一部分。
欢迎您贡献力量。有关如何贡献的信息,请访问https://odoo-community.org/page/Contribute。
项目详情
散列 for odoo12_addon_web_domain_field-12.0.1.0.0.99.dev13-py3-none-any.whl
算法 | 散列摘要 | |
---|---|---|
SHA256 | 9d39e0b5073092947026ef0773e59e274f7df63ee428f14a1998619e4341a266 |
|
MD5 | 5fc2d3c4cc439bfac44456840fd7d50c |
|
BLAKE2b-256 | 014d47d67be20beb18c3b9318bba348882b3b64f174ab003360b6f0f4de0fca4 |