跳至內容
選單
此問題已被標幟
1 回覆
4798 瀏覽次數

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. 

頭像
捨棄
最佳答案

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
頭像
捨棄
相關帖文 回覆 瀏覽次數 活動
0
10月 21
4216
2
12月 24
1246
1
8月 23
2553
0
9月 21
2135
16
3月 24
29649