我继承了 project.project 模块,在其中添加了多个 Many2many 字段:“买家”、“卖家”、“联系人”等。所有这些都与 res.partner 相关。知道我何时向其中一个字段添加多条记录,例如添加一些买家。这些买家也会自动填写在卖家、联系方式字段中。
知道如何防止这种情况发生,我理解为什么会发生这种情况,因为 many2many 创建了一个带有 project_id 和 res_partner_id 的表,并且不知道它是从卖家、买家还是联系人字段创建的。
提前致谢。
我继承了 project.project 模块,在其中添加了多个 Many2many 字段:“买家”、“卖家”、“联系人”等。所有这些都与 res.partner 相关。知道我何时向其中一个字段添加多条记录,例如添加一些买家。这些买家也会自动填写在卖家、联系方式字段中。
知道如何防止这种情况发生,我理解为什么会发生这种情况,因为 many2many 创建了一个带有 project_id 和 res_partner_id 的表,并且不知道它是从卖家、买家还是联系人字段创建的。
提前致谢。
您是否为 Many2Many 字段指定了表名?使用属性“relation”,因为如果您一直传递相同的两个相关字段名称。默认情况下一直创建同名的表。
解释:
在你的情况下,你有
sellers_ids = fields.Many2many(
comodel_name='res.partner',column1='partner_id', column2='project_id',
)
contact_ids = fields.Many2many(
comodel_name='res.partner',column1='partner_id', column2='project_id',
)
Odoo 将创建两个同名的表。“partner_id_project_id_rel”。在您在一个 Many2many 中创建记录的那一刻,同一个表将被更新。
但是,如果您指定关系名称。将创建两个具有不同名称的表。像这样。
sellers_ids = fields.Many2many(relation='sellers_project_rel',
comodel_name='res.partner',column1='partner_id', column2='project_id',
)
contact_ids = fields.Many2many(relation='contact_project_rel',
comodel_name='res.partner',column1='partner_id', column2='project_id',
)