94 votes

Comment utiliser AND dans un filtre Django ?

Comment créer un filtre « ET » pour récupérer des objets dans Django ? Par exemple, je voudrais récupérer une ligne qui a une combinaison de deux mots dans un seul champ.

Par exemple, la requête SQL suivante fait exactement cela lorsque je l’exécute sur la base de données mysql :

Comment y parvenir dans Django en utilisant des filtres ?

176voto

David Berger Points 5459

Par souci de rigueur, mentionnons simplement la méthode de l’objet `` :

Notez que les autres réponses ici sont plus simples et mieux adaptées à votre cas d’utilisation, mais si quelqu’un avec un problème similaire mais légèrement plus complexe (comme avoir besoin de « pas » ou « ou ») voit cela, il est bon d’avoir la référence ici.

114voto

Andrea Di Persio Points 1226

(mise à jour : cette réponse ne fonctionnera plus et donnera l’erreur ``de syntaxe)

mise à jour: Il y a longtemps que j’ai écrit cette réponse et fait un peu de django, mais je suis sûr que pour ces jours, la meilleure approche est d’utiliser la méthode de l’objet Q comme David Berger le montre ici: Comment puis-je utiliser ET dans un filtre Django?

18voto

mipadi Points 135410

Vous pouvez enchaîner les expressions de filtre dans Django :

Vous pouvez trouver plus d’informations dans les documents Django à « Chaining Filters ».

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X