Quels sont les opérateurs de domaine disponibles dans Openerp / Odoo?
2 réponses
Cela donne un aperçu:
Liste Domaine opérateurs: !
(Pas), |
(Ou), &
Et
Liste Terme opérateurs: '=', '!=', '<=', '<', '>', '>=', '=?', '=like', '=ilike', 'like', 'not like', 'ilike', 'not ilike', 'in', 'not in', 'child_of'
Utilisation:
enregistrements d'Entrée:
Dossier 1: Openerp
Record 2:openerp
3: Opensource
Dossier 4: opensource
5: Open
Enregistrer 6: open
Dossier 7: Odoo
Enregistrer 8: odoo
Dossier 9: Odooopenerp
Enregistrement 10: OdooOpenerp
"comme":[('input', 'like', 'open')]
- renvoie la recherche sensible à la casse (caractères génériques - '%open%').
O/p: ouvrir, opensource, openerp, Odooopenerp
'aime pas':[('input', 'not like', 'open')]
- résultats de retour non appariés avec sensible à la casse (les caractères génériques - '%ouvrez%') de recherche.
O / p: Openerp, Opensource, Open, Odoo, odoo, OdooOpenerp
'= like':[('name', '=like', 'open')]
- Retourne exacte (= 'ouvert') sensibles à la casse de la recherche.
O/p: ouvert
'ilike':[('name', 'ilike', 'open')]
- renvoie la recherche exacte insensible à la casse (caractères génériques - '%open%').
O/p: Openerp openerp, Opensource, libre, Ouvert, ouvrir, Odooopenerp, OdooOpenerp
'pas ilike':[('name', 'not ilike', 'open')]
- renvoie des résultats qui ne correspondent pas à la recherche exact case insensitive (caractères génériques - '%open%').
O/p: Odoo, odoo
'=ilike':[('name', '=ilike', 'open')]
- Retourne exacte (= 'ouvert' ou 'Ouvrir') recherche insensible à la casse.
O/p: Ouvrez, ouvrez
'=?':
nom = 'odoo'
parent_id = False
[('name', 'like', name), ('parent_id', '=?', parent_id)]
- retourne le résultat de nom de domaine & Vrai
nom = 'odoo'
parent_id = "openerp"
[('name', 'like', name), ('parent_id', '=?', parent_id)]
- retourne le résultat du domaine name & le résultat du domaine parent_id
'=?' est un court-circuit qui rend le terme VRAI si le droit n'est ou Faux, '=?'
se comporte comme '='
dans les autres cas
':
[('value1', 'in', ['value1', 'value2'])]
- l'opérateur in vérifiera que la valeur1 est présente ou non dans la liste des bons termes
'pas':
[('value1', 'not in', ['value2'])]
- pas de opérateur de vérifiez la valeur 1 n'est pas présent dans la liste de droite à terme
Alors que ces ' in 'Et' not in ' fonctionnent avec la liste/tuple de valeurs, cette dernière
'='
et '!='
fonctionne avec de la ficelle
'=':
valeur = 10
[('value','=',value)]
- terme left side a 10 en db et Terme right notre valeur 10 correspond
'!= ' :
valeur = 15
[('value','!=',value)]
- terme left side a 10 en db et Terme right notre valeur 10 ne correspond pas
'child_of':
parent_id = '1' #Agrolait
'child_of':
[('partner_id', 'child_of', parent_id)]
- retour gauche et droite liste de partner_id for given parent_id
'<=', '<', '>', '>=':
Ces opérateurs sont largement utilisés dans openerp pour comparer les dates - [('date', '>=', date_begin), ('date', '<=', date_end)]
. Vous pouvez utiliser ces opérateurs de comparer int ou float.
la condition A et la condition B pour dans le domaine dans la syntaxe de filtre est comme
<filter name="filtering" string="Filtering" domain="[(A),(B)]" />