我有两个与res.partner相关的字段 在partner_ids中,我想选择合作伙伴,在recipients_ids中,我想选择另一个将获得该文档副本的合作伙伴。在表单视图中,如果我更改partner_ids或recipient_ids这两个字段变得相同的问题。我怎么能这样做我可以选择那些领域的不同合作伙伴?
partners_ids = fields.Many2many('res.partner', string='Companys Names')
recipients_ids = fields.Many2many('res.partner', string='Copys for')
答案 0 :(得分:2)
您收到错误,因为这两个字段在postgres中的同一个表上工作 因为odoo为这个名字创建了一个表格,如下所示:
current_model_name_co_model_name_rel
在你的情况下
your_model_res_partner_rel
所以你需要告诉odoo每个领域都有它自己的关系
partners_ids = fields.Many2many('res.partner', # co_model
'your_model_partners_rel', # relation name change your_model to much your model name
string='Companys Names')
recipients_ids = fields.Many2many('res.partner',
'your_model_recipients_rel',
string='Copys for')
创建m2m字段时,最好通过keyarguement指定此值
_name = 'my.model'
# exmple
user_ids = fields.Many2many(comodel_name='res.users', # name of the model
relation='my_model_users_rel', # name of relation in postgres
column1='session_id', # id reference to current mode
column2='user_id', # id reference to co_model
string='Allowed users')