Ir al contenido
Menú
Se marcó esta pregunta
1 Responder
4730 Vistas

I'm following the v14 tutorial where the goal is to populate fields when a checkbox is set, and remove said populated fields if its unset. 

Specifically: 

Set values for garden area and orientation.

Create an onchange in the estate.property model in order to set values for the garden area (10) and orientation (North) when garden is set to True. When unset, clear the fields.


It the field were a string it would be as easy as  self.name = "someName", but in a selection field, I am guessing it is not as easy.


I have      

    garden = fields.Boolean()

garden_orientation = fields.Selection(string="Direction", selection=[('West', 'west'), ('North', 'north'), ('South', 'south'), ('East', 'east')]    )


And also further down:

    @api.onchange("garden")   

 def _onchange_garden(self):        

self.garden_orientation = "north" #??? 


 The examples given don't show a selection field being set, so I'm at a bit of a loss. 

Avatar
Descartar
Mejor respuesta

Try the below:

garden = fields.Boolean()
garden_orientation = fields.Selection(string="Direction", selection=[('west', 'West'), ('north', 'North'), ('south', 'South'), ('east', 'East')])

@api.onchange("garden")
def _onchange_garden(self):
    # if the garden = True
    if self.garden:
        self.garden_orientation = "north"
    else:
        self.garden_orientation = False
Avatar
Descartar
Publicaciones relacionadas Respuestas Vistas Actividad
0
oct 21
4164
2
dic 24
1174
1
ago 23
2510
0
sept 21
2062
16
mar 24
29614