2010-02-25 3 views

Répondre

13

De l'django q object documentation:

Vous pouvez composer des déclarations de complexité arbitraire en combinant des objets Q avec le & et | opérateurs et utiliser le regroupement entre parenthèses. En outre, les objets Q peuvent être réduits à néant en utilisant l'opérateur ~, ce qui permet pour les recherches combinées qui combinent à la fois une requête normale et niée (NOT) requête:

Q(question__startswith='Who') | ~Q(pub_date__year=2005) 

Je recommande donc

Record.objects.filter(Q(parameter__icontains="wd2") | ~Q(parameter__icontains="wd")) 
+0

Wow , ne savait pas ~ opérateur. Merci beaucoup! – DataGreed

+1

N'est-ce pas élégant? J'aime réutiliser des idées logiques de bas niveau dans un paradigme de composition de plus haut niveau! –