Python Django queryset的相关记录,但只有相关表中的最大值
假设我有两个相关的django模型。属于单个组的组和人Python Django queryset的相关记录,但只有相关表中的最大值,python,django,django-queryset,Python,Django,Django Queryset,假设我有两个相关的django模型。属于单个组的组和人 class Group(models.Model): name = models.CharField(max_length=100, null=True, blank=True) class Person(models.Model): group = models.ForeignKey('Group', on_delete=models.CASCADE, related_name='group') name = m
class Group(models.Model):
name = models.CharField(max_length=100, null=True, blank=True)
class Person(models.Model):
group = models.ForeignKey('Group', on_delete=models.CASCADE, related_name='group')
name = models.CharField(max_length=100, null=True, blank=True)
birthdate = models.DateTimeField(auto_now_add=True)
我想做的是返回Person对象的queryset,它只由每个组中生日最长的人组成。因此,如果有5个“组”,我需要5个“个人”对象的查询集,由maxmium生日确定。请尝试:
gruop_id = Group.objects.get(name='?').id
Person.objects.filter(group__id=gruop_id).order_by('birthdate').values()[:5]
我可能不明白你的意思。也许,你想要相反的
Person.objects.filter(group__id=gruop_id).order_by('birthdate').values().reverse()[:5]