2010-04-14 64 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