2016-12-29 9 views
0

Привет всем и спасибо, что нашли время, чтобы прочитать мой вопрос:Co зависимые полей в Odoo 9,0 Вида на

Мне нужно сделать два поля обновления друг на друг изменения в моей точке зрения, скажем, один из них ингредиентов Листа и другие требования перечислены пищевые

requirements = fields.Selection([(0,"Vegan"),(1,"Lactose intolerant")]) 
ingredients_id = fields.Many2Many(comodel_name="sample.ingredients") 

Что мне нужно, чтобы обновить домен ingredients_id «s, чтобы показать только те, кто соответствовать requirement, и наоборот, если вы выберите случились и ингридиентом другого поля выбора надлежащего requirement. Я думаю о создании поля A вычисленное поле в зависимости от поля B, а затем добавить on_change в поле B, которое обновит поле A. Но я вполне уверен, что это превратится в какую-то бесконечную петлю. Это мой единственный вариант, или я пропущу что-то obviuos?

ответ

1

Используйте декоратор @ api.depends и передайте оба поля в качестве параметров в декораторе. Это вызовет функцию каждый раз при изменении обоих значений и будет зависеть друг от друга.

@api.depends('requirements','ingredients_id') 
def function (self): .... 
    do something.... 
    return 
+0

Не вернул бы меня в «возможную ситуацию с бесконечным циклом»? Если я изменяю поле 'A', а поле' B' вычисляет новое значение, которое инициирует вычисление нового поля 'A' и т. Д. – yorodm

+0

. Использование отдельных функций не будет. –

+0

Я нашел обходное решение в своем решении, которое не нуждается в том, чтобы эти поля были более зависимыми, спасибо за ваши ответы в любом случае – yorodm