Overslaan naar inhoud
Menu
Je moet geregistreerd zijn om te kunnen communiceren met de community.
Deze vraag is gerapporteerd
3 Antwoorden
5296 Weergaven
Hello, I need to know how I could define a domain according to the value of another field in the form


or these are the two domains you would need to activate one or the other depending on the value of another field x_availability


Avatar
Annuleer
Beste antwoord

You can follow this: https://youtu.be/XGqXEL2qQmE

Hope it helps,

Thanks

Avatar
Annuleer
Beste antwoord

Unfortunately return domain has been deprecated.

Avatar
Annuleer

In odoo 17 , how it work brother ?

Beste antwoord

Hi Danny,

To define a field domain (field_1) according to the value of another field (field_2), you have to create onchange('field_1') function based on field_1 to return domain of field_2. 

Check the exemple below:
 
@api.onchange('(field_1')
def onchange_field_1(self):
domain = [('id', '=', 0)]
if self.field_1:
domain = expression.OR([domain, [('id', '=', self.field_1.some_field)]])
return {'domain': {'field_2': domain}}



 

Best regards,


Imal-Tech    



Avatar
Annuleer
Auteur

I know, but I mean that if for example field 1 = True then the domain of field 2 = domain 1
else
field 1 = False then the domain of field 2 = domain 2, I don't know if you understand me

Check this :

@api.onchange('(field_1')
def onchange_field_1(self):
if self.field_1 == True:
domain = your_domain_1_her
else:
domain = your_domain_2_her
return {'domain': {'field_2': domain}}

Auteur

Thus, I would be left with the real fields and domains that I would like to use. I must clarify that the x_tinconf field is of the selection type. When declaring it, it gives an error, could you correct me?

@api.onchange('(x_tinconf')
def onchange_x_tinconf(self):
if self.x_tinconf == 'Pvv':
domain = [('x_pvv', '=', True)]
else:
if self.x_tinconf == 'Hsh':
domain = [('x_hsh', '=', True)]
return {'domain': {'x_inconf': domain}}

Danny, could you share with us the error?

Gerelateerde posts Antwoorden Weergaven Activiteit
2
mei 24
3324
4
nov. 23
2056
2
dec. 21
5465
1
mei 21
3348
2
mrt. 23
3012