odoo many2one和many2many

问题描述 投票:1回答:1

我有型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个回答
2
投票

我会改变新(many2many)字段bed_ids的名称。

首先,它是对的Odoo准则着想,其次我不认为Odoo可以现场从many2one迁移到many2many,因为在数据库方面,它是一个完整的其他关系。 Many2one场只是外键与其它表,但many2many字段由关联表来实现。

这就是为什么我先给老场只是存在的,所以你可以自己进行迁移。迁移后,您应该删除该字段,或让Odoo删除该字段,在代码中删除。

© www.soinside.com 2019 - 2024. All rights reserved.