Přejít na obsah
Menu
You need to be registered to interact with the community.
This question has been flagged
1 Odpovědět
4882 Zobrazení

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
Zrušit
Nejlepší odpověď

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
Zrušit
Related Posts Odpovědi Zobrazení Aktivita
0
říj 21
4370
2
pro 24
1397
1
srp 23
2693
0
zář 21
2274
16
bře 24
29794