Получить значение в функции odoo

Мне нужно получить значение из текущего поля формы:

Ex:

time = fields.Many2one('time.project', domain=lambda self: self._get_time())
vehicle_id = fields.Many2one('fleet.vehicle', 'Vehicle', required=True)
def _get_time(self):
   vehicle_val = Get selected vehicle id from field vehicle_id on current form.

   times = self.env['project.vehicle'].search([('vehicle_id', '=', vehicle_val)

person Pointer    schedule 27.04.2017    source источник
comment
Vehicle_val - это поле в той же форме   -  person Charif DZ    schedule 27.04.2017
comment
Vehicle_id = fields.Many2one(......) - это поле.....   -  person Pointer    schedule 27.04.2017
comment
Что вы подразумеваете под Vehicle_val =? Какой домен вы ищете   -  person Charif DZ    schedule 27.04.2017
comment
В моем случае Vehicle_val = self.vehicle_id или user_val = self.user_id ....   -  person Pointer    schedule 27.04.2017
comment
Я хочу, чтобы выбранное значение из поля помещалось в поиск .search([('vehicle_id', '=', ???) self.vehicle_id не работает, возвращает false   -  person Pointer    schedule 27.04.2017


Ответы (1)


В этом случае вы должны использовать onchange для изменения домена каждый раз, когда значение транспортного средства изменяется.

@api.onchange('vehicle_id')
def dynamic_domain(self):
    vehicle_val =??
    times = self.env['project.vehicle'].search([('vehicle_id', '=', vehicle_val)])
    return {'domain': {'times': [('id', 'in', times.ids)]}}

Надеюсь, это поможет вам.

person Charif DZ    schedule 27.04.2017