跳至內容
選單
此問題已被標幟
2 回覆
6522 瀏覽次數

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
3608
1
11月 20
3877
0
4月 24
982
0
12月 23
1763
4
10月 23
14648