Dans Django, je sais que l'utilisation de filter
avec plusieurs arguments est traduite en clauses SQL AND
. De Django livre:Comment créer un ensemble de requêtes Django équivalent à une requête SQL à l'aide de l'opérateur OR?
Vous pouvez passer plusieurs arguments en pour affiner les choses filtre() plus:
>>> Publisher.objects.filter(country="U.S.A.", state_province="CA") [<Publisher: Apress>]
Ces multiples arguments sont traduits en SQL et clauses. Ainsi, l'exemple dans le code snippet se traduit comme suit:
SELECT id, name, address, city, state_province, country, website FROM books_publisher WHERE country = 'U.S.A.' AND state_province = 'CA';
Comment puis-je créer un queryset Django qui se traduit dans les clauses SQL OR
? Par exemple:
SELECT id, name, address, city, state_province, country, website
FROM books_publisher
WHERE state_province = 'AZ'
OR state_province = 'CA';
Great! C'est ce que je cherchais. Je pense avoir lu cette section des documents, mais je ne l'ai pas trouvée aujourd'hui. Je vous remercie. – saltycrane
Pas de soucis, l'ai utilisé de nombreuses fois, donc il est apparu dans ma tête. :) –