Django ORM:用条件计算相关字段中的各个条目

时间:2018-06-15 12:13:22

标签: django django-orm

我有一个模型Game和一个模型LineLineGame的外键和名为DateTimeField的{​​{1}},用于记录创建行的时间

我想注释一个Game的查询集,计算在某个日期之后创建的每个游戏中的所有行。

类似

created

这不起作用,因为它将所有行都计为有效...

我如何实现我想要实现的目标?

2 个答案:

答案 0 :(得分:1)

我怀疑问题是你正在使用Django< 2.0并不支持filter的{​​{1}}参数(它基本上只是忽略它)。 Count参数was added in Django 2.0

For older versions of Django,您必须使用filterCase条件表达式,但不幸的是,它们应该更加冗长,但应该完成这项工作。

When

答案 1 :(得分:0)

如果你想为每个游戏计算线数,你可以这样做

game = Game.objects.get(id=1)
 Line.objects.filter(game=game,created__gte=datetime.date(2018,2,12).count()