Django有条件地排除了字段

时间:2013-09-17 16:52:15

标签: python django orm

我是Django的新手,在过滤方面遇到了一些麻烦。请原谅人为的例子。我有一些活动模型,与参加者有一对多的关系。从我的一系列活动中我想排除在波士顿发生的事件,但前提是只有1名与会者。下面的代码是我尝试过的,但绝对不起作用:

queryset = queryset.annotate(attendees_count=Count('attendees')).exclude(attendees_count=1, event_location__city="Boston")

我没有收到错误。相反,它只是过滤掉"波士顿"无论"参与者_计数"。

除了实际执行我想要的操作的查询之外,我还想了解为什么我所做的并不起作用。提前谢谢。

1 个答案:

答案 0 :(得分:0)

您确定原始查询集包含波士顿> 1与会者吗?

https://docs.djangoproject.com/en/dev/ref/models/querysets/#django.db.models.query.QuerySet.exclude

  

在底层SQL中通过AND连接多个参数   声明,整个事情都包含在NOT()