Se rendre au contenu
Menu
Cette question a été signalée
5 Réponses
6858 Vues

Hello,

I have a model res.partner and i want to make relation in the same model. The relation is married_with.

So i created many2one field and i want when i change the field of an object it will change the field of the other object.

How to do that?

Avatar
Ignorer

Hello,

You want to add one more filed Many2one with the same reference(res.partner)

Auteur Meilleure réponse

Sorry , but what I am looking for is how to make relation in the same model.

I have a model called Person inheriting from res.partner like that. I know that the relation ono2one is not available anymore.

So i choose to make a many2one field.And i want when i change the married_with field for the person x, , it will change for person y

class Person(models.Model):
_name = 'res.partner'
_inherit = 'res.partner'
    married_with = fields.Many2one('res.partner', ondelete='set null', string='Conjoint', index=True)
Avatar
Ignorer
Meilleure réponse

You

When you change for example   the client, you want to change it with another field

1- You can link it to Related

for example 

    partner_id = fields.Many2one('res.parner', string="Partner")

    phone = fields.Char( string="Identification", related='partner_id .phone')

  phone This field is present in the model 'res.parner' 

2- the other solution by fuction On_change 



@api.onchange('partner_id')
def on_change_field(self):
    self.phone = self.partner_id.phone





Avatar
Ignorer
Meilleure réponse

This should give you a clue:

field_of_other_obj = fields.Many2one('referencing.object')

@api.onchange('field_of_object')
def get_changes(self):
    if self.field_of_object:
        self.field_of_other_obj = self.field_of_object.pointed_field_obj

Make sure the "field_of_other_obj" model is the same with the pointed_field_obj.

If you need more clarity, feel free to ask with what you have done (code).

Avatar
Ignorer
Publications associées Réponses Vues Activité
4
juil. 20
11087
0
nov. 18
5861
0
août 17
4478
2
févr. 25
5812
1
déc. 24
1386