Overslaan naar inhoud
Menu
Je moet geregistreerd zijn om te kunnen communiceren met de community.
Deze vraag is gerapporteerd
2 Antwoorden
18754 Weergaven

Hello,

I have Many2one field with domain function,

port_chargement_id = fields.Many2one('res.port', string='POL', domain=lambda self: self._get_port_chargement_domain())
def _get_port_chargement_domain(self):    
    domain = [('desservi', '=', True)]
    if self.sens_fret_id.id == 1:
        domain.append(('pays_id.code', 'not ilike', 'dz'))
    if self.sens_fret_id.id == 2:
        domain.append(('pays_id.code', 'ilike', 'dz'))
    return domain

From the function I tried to get the current item field with the self.sens_fret , but the self.xxxxx  doesn't work and it returns always False, i even tried  with self.name

Avatar
Annuleer

Hey salah! if you want to do these kind of stuff in on_change method than have a look it will help you: http://learnopenerp.blogspot.com/2016/10/onchange-many2one-filed-in-odoo.html

Auteur

Thanks! but in my case, the sens_fret_id field will be readonly in the next stage, so the port_chargement_id will always depend on the value selected previoulsly. so the onchange function will not be usefull.

Beste antwoord

Hi,

try this in an onchange function.

@api.onchange('sens_fret_id')
def onchange_sens_fret_id(self):
    domain = [('desservi', '=', True)]
    if self.sens_fret_id.id == 1:
        domain.append(('pays_id.code', 'not ilike', 'dz'))
    if self.sens_fret_id.id == 2:
        domain.append(('pays_id.code', 'ilike', 'dz'))
    return {'domain': {'port_chargement_id': domain}}

Thank you

Avatar
Annuleer
Auteur

Thanks! but in my case, the sens_fret_id field will be readonly in the next stage, so the port_chargement_id will always depend on the value selected previoulsly. so the onchange function will not be usefull.

Beste antwoord

I had solved the problem. Please see my blog: Odoo14, Pass variable from master to detail by context and using domain function

The article is posted on Facebook Odoo Developers.

Avatar
Annuleer
Gerelateerde posts Antwoorden Weergaven Activiteit
2
mei 24
7803
4
mei 20
73975
2
mei 24
9221
1
jan. 22
11983
1
jul. 20
16031