0

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

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

我没有收到错误。相反,它只是过滤掉“波士顿”而不管“attendees_count”。

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

4

1 回答 1

0

你确定你的原始查询集包括波士顿超过 1 名与会者吗?

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

多个参数在底层 SQL 语句中通过 AND 连接,整个内容包含在 NOT() 中

于 2013-09-17T18:08:52.573 回答