Bỏ qua để đến Nội dung
Menu
Câu hỏi này đã bị gắn cờ
1 Trả lời
4797 Lượt xem

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. 

Ảnh đại diện
Huỷ bỏ
Câu trả lời hay nhất

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
Ảnh đại diện
Huỷ bỏ
Bài viết liên quan Trả lời Lượt xem Hoạt động
0
thg 10 21
4216
2
thg 12 24
1245
1
thg 8 23
2553
0
thg 9 21
2135
16
thg 3 24
29649