跳至内容
菜单
此问题已终结
2 回复
6225 查看

Hi,

I am writing a custom module and models.

My model inherits from res.partner and I am getting the following error.

TypeError: Many2many fields newmodule.partner.channel_ids and res.partner.channel_ids use the same table and columns

 

class Partner(models.Model):
_name = 'newmodel.partner'
_inherit = 'res.partner'

id = fields.Many2one('newmodel.cat',
string="Cat")


class Cat(models.Model):
_name = 'newmodel.cat'
_description = ' '

name = fields.Char(string="Name", required=True)
description = fields.Text()
partner_id = fields.One2many('newmodel.partner', 'id', string="Partners")





How can I fix it? 



形象
丢弃
最佳答案

Just add a relation attribute for the channel_ids field in your custom  model  "newmodule.partner" and provide a different string for the same. like below 

channel_ids = fields.Many2many('mail.channel', relation="relation_newmodule_partner_m2m", string='Channels')

形象
丢弃
最佳答案

Hi,

You might haven't specified the relation table for the many2many fields, that's why you get this error.


Suppose if you define the new many2many field like this:

partner_ids = fields.Many2many('res.partner')


Change it as follows:

partner_ids = fields.Many2many('res.partner', 'relation_m2m_table', 'rel_1', 'rel_2', string='Partners')

For detailed understanding of the working of many2many field, see: https://www.youtube.com/watch?v=i5gMQke4-Pk


Thanks

形象
丢弃
编写者

Hello, thank you.
I tried doing what you said but iit still gives me the same error.

you need to create a new model ot add fields to exising model ?

相关帖文 回复 查看 活动
2
7月 21
3292
1
11月 20
3673
0
4月 24
772
0
12月 23
1515
4
10月 23
14427