This question has been flagged
3 Replies
3492 Views

I'm working on 3 many2one fields in the 'res.partner' table: 'country_id', 'state_id' and 'city_id' and I want to use 'state_id.country_id' and 'city_id.state_id' in order to filter the value (all the states of a country, and all the cities of a state and none other) my question is : Is it possible to take the value of 'city_id.state_id' or 'state_id.country_id' and use it to filter the corresponding field ?

Avatar
Discard
Best Answer

To add domain in the state_id field example,

      'country_id': fields.many2one('res.country', 'Country'),
       'state_id': fields.many2one("res.country.state", 'State', domain="[('country_id','=',country_id)]"),

Avatar
Discard
Best Answer

You could create a related field to get to the country_id via state. You should then be able to set a domain on another field, based on the value of the related field.

Something like this (disclaimer: this is by head, can't check for errors):

country_id = fields.related('state_id', 'country_id', string="Related country")

"domain=[('country_id', '=', country_id)]"

Avatar
Discard
Author Best Answer

Thank you very much prakash I had no idea I could do that with many2one fields, now it works perfectly.

Avatar
Discard