首页 > 解决方案 > 转换查询集以获取每个名称的最新条目

问题描述

我的数据如下所示:

class Entry(models.Model):

    name = models.CharField(max_length=100)
    date = models.DateField(auto_now_add=True)
    size = models.FloatField(null=True)

如果我做:

qs = Entry.objects.all()

我得到了queryset所有条目。我将如何转换它queryset以获取另一个具有每个名称 的最新条目的查询集?

标签: pythondjango

解决方案


鉴于您使用的是 postgres 后端,您可以distinct(*fields)与适当的组合使用order_by

qs = Entry.objects.all()
qs = qs.order_by('name', '-date').distinct('name')

推荐阅读