Python odoo many2one和many2many

Python odoo many2one和many2many,python,odoo,odoo-8,odoo-10,Python,Odoo,Odoo 8,Odoo 10,我有一个类型为manyOne的字段。我的数据库里也有很多记录 因此,现在我想将此字段的类型从many2one更改为many2many,但当我创建记录时,它会显示完整性错误 这是我的领域: bed_id = fields.Many2one('i.bed', 'bed', required=True, ondelete="restrict", track_visibility="onchange") 我把它改成这样: bed_id = fields.Many2many('i.bed', 'bed

我有一个类型为
manyOne
的字段。我的数据库里也有很多记录

因此,现在我想将此字段的类型从
many2one
更改为
many2many
,但当我创建记录时,它会显示
完整性错误

这是我的领域:

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]


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

我会将新字段(many2many)的名称更改为
bed\u id

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

这就是为什么我会让旧字段存在,这样您就可以自己迁移它了。迁移之后,您应该删除该字段,或者让Odoo通过在代码中删除该字段来删除该字段