Это довольно просто.
Рассмотрим следующие поля (только XML я дал здесь, Python вы должны управлять)
<field name="a"/>
<field name="b"/>
<field name="c"/>
одно условие
Рассмотрим несколько простых условий в программировании
if a = 5 # where a is the variable and 5 is the value
В открытом доменном домене ERP это было бы написано так
[('a','=',5)] # where a should be a field in the model and 5 will be the value
Так синтаксис мы получаем это
('field_name', 'operator', value)
Теперь давайте попробуем применить другое поле вместо статического значения 5
[('a','=',b)] # where a and b should be the fields in the model
Выше вы отметить, что первую переменную a заключен в одинарные кавычки, тогда как значение b не равно. Переменная, которую нужно сравнить, всегда будет первой и будет заключена в одинарные кавычки, а значение будет просто именем поля.Но если вы хотите сравнить переменную а со значением «б» вы, чтобы сделать ниже
[('a','=','b')] # where only a is the field name and b is the value (field b's value will not be taken for comparison in this case)
Состояние и
В программировании
if a = 5 and b = 10
В области фильтра Open ERP
[('a','=',5),('b','=',10)]
Обратите внимание, что если вы не указали какой-либо co в начале и условие будет применено. Если вы хотите заменить статические значения, которые вы можете просто удалить 5 и дать имя поля (строго без кавычек)
[('a','=',c),('b','=',c)]
Состояние ИЛИ
В программировании
if a = 5 or b = 10
В Открытый фильтр домена ERP
['|',('a','=',5),('b','=',10)]
Обратите внимание, что , указывает, что это и состояние. Если вы хотите заменить поля, вы можете просто удалить 5 и дать имя поля (строго без кавычек)
несколько условий
В программировании
if a = 5 or (b != 10 and c = 12)
В области фильтра Open ERP
['|',('a','=',5),('&',('b','!=',10),('c','=',12))]
Также этот post от Arya будет очень полезно для вас. Ура !!
Hi Vivek, Пожалуйста, поделитесь своим идентификатором электронной почты. Я пришлю вам свой модуль на этом – user3153567
Привет, Какой модуль вы собираетесь мне прислать ?. В любом случае [email protected] - это мой идентификатор электронной почты. – Vivek
Я отправил вам модуль, который требует исправления для фильтра домена. Спасибо – user3153567