2010-04-14 4 views
0

J'ai eu une question pour vous, quelque chose que je n'arrive pas à trouver la solution pour ... Fondamentalement, j'ai un modèle appelé Environnement, et je passe tous à une vue, et il y a des environnements particuliers que je voudrais exclure. Maintenant, je sais qu'il y a une fonction d'exclusion sur un jeu de requête, mais je n'arrive pas à comprendre comment l'utiliser pour plusieurs options ... Par exemple, j'ai essayé mais ça n'a pas marché:Django exclude (** kwargs) help

kwargs = {"name": "env1", "name": "env2"} 
envs = Environment.objects.exclude(kwards) 

Mais la seule chose qu'il va exclure est la dernière valeur "name" dans la liste de kwargs. Je comprends pourquoi il le fait maintenant, mais je n'arrive toujours pas à exclure plusieurs objets avec une seule commande. Toute aide est très appréciée!

Shawn

+0

Votre titre ne correspond pas à votre question. –

Répondre

3

La façon de le faire serait:

Enviroment.objects.exclude(name="env1").exclude(name="env2") 

ou

Enviroment.objects.exclude(Q(name="env1") | Q(name="env2")) 
+0

Hmmm bien alors. La solution d'exclusion multiple est celle avec laquelle je suis allé avant de poser la question, mais j'espérais une solution plus élégante :) Merci quand même! – shawnjan

1

Enviroment.objects.exclude (name__in = [ "env1", "ENV2"])

+0

Intéressant, je devrais y retourner et essayer ceci, peut-être demain au travail! – shawnjan