Skip to Content
Menu
This question has been flagged

I have a wizard model, where user can choose a car from another model(named 'techdoc' with fields car brand, model, year etc).
In first selection field user chooses car brand, and in second selection user chooses car model, depends on the selected first field.
But the second field value does not displays computed values to choose after setting the second field value. 
Is there any method to make it work properly?

class Roll_wizard(models.TransientModel):

_name = 'roll.wizard'

@api.multi

def get_car_brand(self):

brand = []

result = self.env['techdoc'].search([('name', '!=', "")])

for record in result:

tup=(record.name.lower(), record.name.title())

brand.append(tup)

brand = list(set(brand))

return sorted(brand)


@property

def ret_value(self):

return self.car_brand


@api.onchange("car_brand")

def get_car_model(self):

model = []

result = self.env['techdoc'].search([('name', '=', self.ret_value)])

for record in result:

tup=(record.car_model, record.car_model.title())

model.append(tup)

model = list(set(model))

return sorted(model)


car_brand = fields.Selection(get_car_brand, string="Car Brand")

car_model = fields.Selection(get_car_model, string="Car Model")

 

If I'll print in console the result of returned value's of get_car_model:

print result

print model

techdoc(18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32)

[(u'fiesta', u'Fiesta'), (u'focus', u'Focus'), (u'fusion', u'Fusion')]

 So we can see, server returns the right value, but the selection field is not updated dynamically. 

Avatar
Discard
Best Answer

I know it's an old question, but I've got here looking for a way to dynamically generate a selection list for each record of a model / recordset and I didn't succeeded yet.

But in your case I would have used two `Many2one` fields and for the car model a domain based on the car brand value, without the need to over complicate an build selection lists

Avatar
Discard
Related Posts Replies Views Activity
2
May 22
13123
2
May 16
9044
2
Dec 22
4478
1
Dec 20
3032
5
Apr 19
7458