【问题标题】:Make multiple fields invisible with many2many field odoo使用 many2many 字段 odoo 使多个字段不可见
【发布时间】:2019-11-20 22:52:41
【问题描述】:

我有 3 个字符字段和 1 个 many2many 字段。下面是代码

brand = fields.char ('品牌')

lang = fields.char('语言')

ref = fields.char('参考')

product_ids = fields.Many2many('product.product', Products')

如何隐藏基于 many2many 多项选择的字段?示例如果产品A所选选择的那个品牌应该是可见的,并且当产品B选定的产品B时,应可见,当产品C选择时,REF应可见反之亦然。

可以有多个选择,例如产品 A 和 B 一起选择,然后 BRAND 和 LANG 都可见。

请注意,我不想使用布尔字段来隐藏字符字段

【问题讨论】:

  • 我认为唯一的解决方案是使 3 个布尔计算字段依赖于字段 product_ids。然后根据这些计算字段设置 attrs 不可见
  • 如果有25个字段呢?为每个设置布尔值会不必要地增加表架构
  • 如果你没有store这些布尔字段,你的表中不会增加任何东西。但它只对表单或某种单一视图有意义,否则读取数据时性能会很糟糕。
  • @Artiel: Store=False。完美的解决方案。谢谢。它解决了我的问题。

标签: odoo


【解决方案1】:

如果任何值在 Many2many 中,您可以为 Char 字段添加不可见属性,这将使字段不可见。你可以参考这个link类似的问题。

【讨论】:

  • 感谢您的回答。只有当我想隐藏一个字段时,您的解决方案才有效。如果我有多个字段要隐藏,并且在 m2m 字段中选择了不同的值,它将不起作用。
【解决方案2】:

@Artiel 建议的解决方案对我有用。 创建多个布尔字段并保持 store = False。 这将在不增加表架构的情况下完成这项工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-09
    • 1970-01-01
    相关资源
    最近更新 更多