This question has been flagged
1 Reply
7048 Views

Suppose I created a model in a new module.(lets call it "module_a"). something like this:

[....]
'partner_ids': fields.many2many('res.partner', id1='module_a_id', id2='partner_id', string='Partners'),
[...]

how do I set the xml definition for this field in the inherit form?

<field name="inherit_id" ref="base.view_partner_form"/>
     <field name="name" position="before">
             <field name="(wtf i put here?)" widget="many2many_tags"/>
     </field>
[....]

possible answers? partner_ids <-NO, I want to see module_a names here...
module_a_id? <-- seems logic.. but not working...
 

"module_a_id_partner_id"  perhaps? "module_a_id.partner_id" ? 

Where do I get this object name from?

 

 

Avatar
Discard
Author

Thanks a lot Emipro. I can't comment on your answer because of my karma. But why is this? How do I know when a new many2many relationship is not possible to be made in one module, and I must establish it in the other?

Best Answer

Hi Daniel,

I have seen that you were define many2many field "partner_ids" into module_a model.

And you were trying to add field into view of the "res.partner" model using inheritance. It is not possible. If you want to add any field into form view of "res.partner" then you have to define that field into "res.partner" model as like below.

'model_a_ids': fields.many2many('model_a', id1='partner_id', id2='module_a_id', string='Model_a_Names'),

Now you can add this field into view of "res.partner" model as you have done.

<field name="inherit_id" ref="base.view_partner_form"/>
     <field name="name" position="before">
             <field name="model_a_ids" widget="many2many_tags"/>
     </field>
[....]

Here in this field you can see the name of the model "model_a". I hope you will resolve your issue.

Avatar
Discard
Author

Hi, should I define "module_a_id" at "model_a" also? or with this defnition is enough? I am defining this many2one inheriting res.partner, but i get a Programming Error: "column model_a_res_partner_rel.model_a_id does not exist" What am I doing wrong?