Returns the first object matched by the queryset, or None if there
is no matching object. If the QuerySet has no ordering defined,
then the queryset is automatically ordered by the primary key. This
can affect aggregation results as described in Interaction with
default ordering or
order_by().
在查询集上调用
.first()
时,查询集的顺序很重要,因为这将决定首先是哪个对象。当queryset有一个顺序时,它将被使用,如果它没有,主键将自动用于排序。引用first()
上的documentation:在顺序中自动使用主键,或者说,您提供的其他一些顺序将改变聚合的发生方式(正如前面所述,由于顺序的原因,组中可能存在的内容现在将不在组中)。因此,您可以观察查询的结果
考虑下面的示例(^ {< CD3>}模型是不需要的,但这是我已经为测试目的所做的):
因此,您不必使用
.first
,只需执行以下操作即可获得正确的结果:相关问题 更多 >
编程相关推荐