2010-04-14 63 views
0

我有一个问题给你,我似乎无法找到解决方案...基本上,我有一个名为Environment的模型,我将它们全部传递给一种观点,并且我想排除特定的环境。现在,我知道有一个查询集的排除功能,但我似乎无法弄清楚如何使用它的多个选项...例如,我试过这个,但它没有工作:Django排除(** kwargs)帮助

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

但它唯一会排除的是kwargs列表中的最后一个“名称”值。我明白为什么现在这样做,但我仍然无法用一个命令排除多个对象。任何帮助深表感谢!

肖恩

+0

您的标题与您的问题不符。 – 2010-04-14 00:12:11

回答

3

做的方式,这将是:

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

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

然后嗯。多重排除解决方案是我在提出问题之前一起去的解决方案,但我希望有一个更优雅的解决方案:)谢谢! – shawnjan 2010-04-14 00:48:55

1

Enviroment.objects.exclude(name__in = [ “ENV1”, “ENV2”])

+0

有趣的是,我应该回去尝试一下,也许明天就在工作! – shawnjan 2010-04-18 22:43:41