是否可以使用来自另一个表的条件数据来注释查询集。 例如,我有以下表格:
class User(Model):
name = CharField()
created = models.DateTimeField(default=timezone.now)
class Event(Model):
name = CharField()
created = models.DateTimeField(default=timezone.now)
condition = models.IntegerField()
我需要使用创建字段大于事件创建字段的用户数量来注释每个事件。然后我想只选择那些注释值大于Event.condition的事件。 在原始SQL中似乎很容易:
SELECT COUNT(*), event.id FROM event
JOIN user ON user.created > event.created
GROUP BY event.id
HAVING COUNT(*) > event.condition;
虽然不确定是否可以在没有extra()函数的情况下使用django ORM创建。