两个 many2many 领域与不同的合作伙伴
two many2many fields with different partner
我有两个字段应该与 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')
您收到错误是因为这两个字段在 postgres 中使用相同的 table
因为 odoo 为该名称创建了一个 table,如下所示:
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')
我有两个字段应该与 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')
您收到错误是因为这两个字段在 postgres 中使用相同的 table 因为 odoo 为该名称创建了一个 table,如下所示:
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')