Django exclude(**kwargs) 帮助
我有个问题想请教你,找了半天也没找到解决办法……简单来说,我有一个叫做“环境”的模型,我把所有的环境都传给一个视图,但有些特定的环境我想排除掉。现在,我知道在查询集中有一个排除的功能,但我就是搞不清楚怎么用它来排除多个选项……比如,我试过这样做,但没成功:
kwargs = {"name": "env1", "name": "env2"}
envs = Environment.objects.exclude( kwards )
但是这样做的话,最后只会排除掉列表中最后一个“名称”的值。我现在明白为什么会这样了,但我还是无法用一个命令排除多个对象。非常感谢任何帮助!
肖恩
2 个回答
1
这段代码的意思是,从环境对象中排除掉名字是“env1”和“env2”的那些环境。简单来说,就是你想要找出所有环境,但不想要这两个特定的环境。
4
这样做的方法是:
Enviroment.objects.exclude(name="env1").exclude(name="env2")
或者
Enviroment.objects.exclude(Q(name="env1") | Q(name="env2"))