考虑以下模型:
class Data(Model):
created_at = models.DateTimeField()
category = models.CharField(max_length=7)
我想为所有类别选择最新的对象。
在这个问题之后,我选择了不同的类别,然后对它们中的每一个进行单独的查询:
categories = Data.objects.distinct('category').values_list('category', flat=True)
for category in categories:
latest_obj = Data.objects.filter(category=category).latest('created_at')
该方法的缺点是它会进行大量查询(1 个用于不同类别,然后每个类别单独查询)。
有没有办法用一个查询来做到这一点?