Я знаю немного операторов в домене openerp. Я не получаю информацию о доступных доменах и их объяснениях. Особенно для этих областей отрицания. Может ли кто-нибудь рассказать мне подробный список?
Каковы доступные операторы домена в Openerp/Odoo?
Ответ 1
Это дает обзор:
Список операторов Домен: !
(не), |
(или), &
(и)
Список операторов Term: '=', '!=', '<=', '<', '>', '>=', '=?', '=like', '=ilike', 'like', 'not like', 'ilike', 'not ilike', 'in', 'not in', 'child_of'
Использование
Входные записи:
Запись 1: Openerp
Запись 2: Openerp
Запись 3: Opensource
Запись 4: Opensource
Запись 5: Open
Запись 6: Open
Запись 7: Odoo
Запись 8: Odoo
Запись 9: Odooopenerp
Запись 10: Odooopenerp
'like': [('input', 'like', 'open')]
- возвращает регистр с учетом регистра (wildcards - '% open%').
O/p: open, opensource, openerp, Odooopenerp
'не нравится': [('input', 'not like', 'open')]
- Возвращает результаты, не совпадающие с регистрозависимым (wildcards - '% open%').
O/p: Openerp, Opensource, Open, Odoo, odoo, OdooOpenerp
'= like': [('name', '=like', 'open')]
- возвращает точный (= 'открытый') поиск с учетом регистра.
O/p: open
'ilike': [('name', 'ilike', 'open')]
- возвращает точный регистр без учета регистра (wildcards - '% open%').
O/p: Openerp, openerp, Opensource, opensource, Open, open, Odooopenerp, OdooOpenerp
'not ilike': [('name', 'not ilike', 'open')]
- Возвращает результаты, не совпадающие с точным нечувствительным к регистру (wildcards - '% open%').
O/p: Odoo, odoo
'= ilike': [('name', '=ilike', 'open')]
- возвращает точный (= 'открытый' или 'открытый') регистр без учета регистра.
O/p: Открыть, открыть
'=?':
name = 'odoo'
parent_id = False
[('name', 'like', name), ('parent_id', '=?', parent_id)]
- возвращает результат домена имени и True
name = 'odoo'
parent_id = 'openerp'
[('name', 'like', name), ('parent_id', '=?', parent_id)]
- Возвращает результат домена имени и результат домена parent_id
'=?' - это короткое замыкание, которое делает термин TRUE, если right имеет значение None или False, '=?'
ведет себя как '='
в других случаях
'в':
[('value1', 'in', ['value1', 'value2'])]
- в операторе будет проверяться, что значение1 присутствует или нет в списке правильного термина
'не в':
[('value1', 'not in', ['value2'])]
- не в операторе будет проверять значение1, нет в списке правильного термина
Хотя эти "in" и "not in" работают со списком/кортежем значений, последний
'='
и '!='
работает со строкой
'=':
value = 10
[('value','=',value)]
- термин левая сторона имеет 10 в db, а термин right наше значение 10 будет соответствовать
'=!':
value = 15
[('value','!=',value)]
- термин левая сторона имеет 10 в db, а термин right наше значение 10 не будет соответствовать
'child_of':
parent_id = '1' #Agrolait
'ребенок':
[('partner_id', 'child_of', parent_id)]
- вернуть левый и правый список partner_id для данного родителя_ид
'< =', '<', ' > ', ' > =':
Эти операторы в основном используются в openerp для сравнения дат - [('date', '>=', date_begin), ('date', '<=', date_end)]
. Вы можете использовать эти операторы для сравнения int или float.
Ответ 2
условие A и условие B для домена в синтаксисе фильтра похоже на
<filter name="filtering" string="Filtering" domain="[(A),(B)]" />