跳转到主要内容

将计算字段作为域使用

项目描述

Beta License: AGPL-3 OCA/web Translate me on Weblate Try me on Runboat

此技术插件允许开发人员在视图的XML定义中使用另一个字段的值来指定一个字段的域,而不是作为静态XML属性。

目录

使用方法

在定义视图时,您可以在关系字段上指定域属性。此属性作为筛选器评估,以在显示现有记录以进行选择时应用。

<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.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上。如果遇到问题,请检查是否已报告您的问题。如果您是第一个发现它的人,请通过提供详细且受欢迎的反馈来帮助我们将其摧毁。

请不要直接联系贡献者以获取支持或技术问题的帮助。

致谢

作者

  • ACSONE SA/NV

贡献者

维护者

此模块由OCA维护。

Odoo Community Association

OCA,或Odoo社区协会,是一个非营利组织,其使命是支持Odoo功能的协作开发并推广其广泛应用。

此模块是GitHub上的OCA/web项目的一部分。

欢迎您贡献。有关如何贡献的信息,请访问https://odoo-community.org/page/Contribute

项目详情


下载文件

下载您平台上的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源代码分发

此版本没有可用的源代码分发文件。有关教程,请参阅生成分发存档

构建分发

由以下机构支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面