【问题标题】:odoo many2one and many2manyodoo many2one 和 many2many
【发布时间】:2019-02-08 13:56:14
【问题描述】:

我有一个many2one 类型的字段。此外,在我的数据库中,我有很多记录。

所以现在我想将此字段的类型从many2one 更改为many2many,但是当我创建记录时,它会显示Integrity Error

这是我的领域:

bed_id = fields.Many2one('i.bed', 'bed', required=True, ondelete="restrict",  track_visibility="onchange")

我把它改成了这样:

bed_id = fields.Many2many('i.bed', 'bed', required=True,string="beds",  track_visibility="onchange")  

完整性错误是:

操作无法完成,可能有以下原因: - 删除:您可能正在尝试删除一条记录,而其他记录仍在引用它 - 创建/更新:未正确设置必填字段

[对象引用:bed_id - bed.id]

如何在不删除数据库中现有记录的情况下解决此问题?

【问题讨论】:

    标签: python odoo odoo-8 odoo-10


    【解决方案1】:

    我会将新 (many2many) 字段的名称更改为 bed_ids

    首先是为了 Odoo 指南,其次我不认为 Odoo 可以将字段从 many2one 迁移到 many2many,因为在数据库方面它是一个完整的其他关系。 Many2one 字段只是其他表的外键,但 many2many 字段是通过关联表实现的。

    这就是为什么我会让旧字段存在,所以你可以自己迁移它。迁移后,您应该删除该字段或让 Odoo 删除该字段,方法是在您的代码中删除它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-11
      相关资源
      最近更新 更多