Доменный фильтр в XML odoo 10 - PullRequest
0 голосов
/ 23 мая 2018

Я добавил класс operating.unit.В product.template я добавил это как Many2one, поданный как operating_unit_id.В res.users я ссылался на этот класс как на многие2many поля operating_unit_ids.Мне нужно отфильтровать поле продукта таким образом, чтобы в раскрывающемся списке отображался только продукт маркированных операционных единиц текущего пользователя.Я использовал домен, как показано ниже.Это отфильтровывает все.

<field name="product_id"
domain="[('operating_unit_id','in', 'user_id.operating_unit_ids.ids')]"/>

Однако, если я статически передаю идентификатор, как показано ниже, он работает нормально.

<field name="product_id" domain="[('operating_unit_id','in', (3,4))]"/>

Не могли бы вы сообщить мне, что я делаю неправильно?

Ответы [ 3 ]

0 голосов
/ 25 мая 2018

Несколько дней назад я тоже столкнулся с этой проблемой и не нашел подходящего решения.Итак, я предлагаю вам применить этот домен в файле Python вместо XML-файла.

domain="[('id', 'in', operating_unit_id and operating_unit_id[0] and "operating_unit_id[0][2] or False)]"
0 голосов
/ 25 мая 2018

Просто для полноты: по этой ссылке вы найдете более подробное объяснение предыдущих ответов

https://www.odoo.com/forum/help-1/question/complex-many2many-domains-in-views-41777

0 голосов
/ 23 мая 2018

Вы можете попробовать это и вычислить свое поле many2many после того, как примените домен.

<field name="product_id" domain="[('id','in',TEST and TEST[0][2])]"/>

TEST имя вашего many2many поля.Я надеюсь, что это работа для вас.

...