跳转到主要内容

使用计算字段作为域

项目描述

Production/Stable License: AGPL-3 OCA/web Translate me on Weblate Try me on Runbot

当您定义一个视图时,可以在关系字段上指定一个域属性。该属性作为过滤器在显示现有记录以进行选择时应用。

目录

用法

当您定义一个视图时,可以在关系字段上指定一个域属性。该属性作为过滤器在显示现有记录以进行选择时应用。

<field name="product_id" domain="[('type','=','product')]"/>

为域属性提供的值必须是一个表示有效Odoo域的字符串。该字符串在客户端的一个受限上下文中进行评估,在该上下文中我们可以引用表单中存在的字段的值以及一组有限的功能。

在此上下文中构建复杂域比较困难,我们面临一些限制,例如

  • 将涉及x2many字段值的条件包含在域中的语法复杂。

  • 在x2many的情况下,域的右侧可能涉及大量的ids(性能问题)。

  • 当您修改表单而没有修改触发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

项目详情


下载文件

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

源代码分发

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

构建分发

odoo14_addon_web_domain_field-14.0.1.0.2-py3-none-any.whl (25.9 kB 查看哈希值)

上传时间 Python 3

支持者

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