【问题标题】:Odoo duplicate many2many fieldsOdoo重复many2many字段
【发布时间】:2019-05-24 17:09:58
【问题描述】:
  • 具有 many2many 字段 [m2m] 的模型 [m]
  • 字段 [m2m] 具有属性 [copy=False]
  • 表单视图 [v] 显示 [m] 和带有小部件 [many2many_tags] 的字段 [m2m]

我已经测试了 python 对象确实在字段 [m2m] 上返回了一个 False

但是 javascript,继续在 web 上呈现标签。

模型.py

class model(models.Model):
    _name = "m"

    m2m = fields.Many2many('sale.order', string="SO", copy=False)

XML 文件

<record ...>

<form>
<group>
    <field name="name"/>
    <field name="ref"/>
    <field name="so_m2m" widget="many2many_tags" options="{'no_create_edit': True}"/>
    </group>
</form>
</record>

当我复制当前记录时,字段 [m2m] 会保留旧记录中的旧标签,这不是预期的。

点击保存按钮后,旧标签会消失。

【问题讨论】:

  • 所以在这里你想要像当你复制记录时 m2m 字段值不应该复制,对吧?
  • 是的,我不想复制该值,我设置了 copy=False,它在记录级别确实有效,但是 UI 级别的标签被复制了。
  • 哪种标签?你能解释一下“标签”一词的含义吗?
  • 我使用小部件many2many_tags 来表示字段。

标签: odoo-8


【解决方案1】:

在这里尝试一件事:

无论您的第三张表在哪里,many2many 关系中使用的两个字段都来自第三张表,将它们作为副本保留。

即

    m2m = fields.Many2many('sale.order','sale_order_another_table_rel', 'sale_order_field','antother_table_field', string="SO", copy=False)

进入新表:

_name = 'sale.order.another.table.rel'
sale_order_field_id = // copy=false
another_table_field_id = //copy = false

希望工作。

【讨论】:

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