Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django:获取其他字段';s从聚合查询中获取的值_Django_Django Models_Django Orm - Fatal编程技术网

Django:获取其他字段';s从聚合查询中获取的值

Django:获取其他字段';s从聚合查询中获取的值,django,django-models,django-orm,Django,Django Models,Django Orm,该查询将为我提供最老的员工,因此我还想知道与该行相关的一些其他信息,例如id 我怎样才能做到这一点?谢谢。您不需要聚合,只需按查询集的年龄降序即可 es = Employee.objects.filter(a few filters).aggregate(Max('Age')) 我会给你最老的 或者如果你有几件旧的东西 Employee.objects.filter(a few filters).order_by(['-Age'])[0] 使用annotate()而不是aggregate(

该查询将为我提供最老的员工,因此我还想知道与该行相关的一些其他信息,例如id


我怎样才能做到这一点?谢谢。

您不需要聚合,只需按查询集的年龄降序即可

es = Employee.objects.filter(a few filters).aggregate(Max('Age'))
我会给你最老的

或者如果你有几件旧的东西

 Employee.objects.filter(a few filters).order_by(['-Age'])[0]

使用
annotate()
而不是
aggregate()

谢谢你的回答,但是我必须在这里使用聚合函数。无论如何,最后,使用order\u by-\u-解决了问题!谢谢。你的问题能更准确一点吗?id(主键)和聚合的混合似乎是矛盾的(例如,几个员工可能有相同的最大值(‘年龄’)
 age = None
 for x in Employee.objects.filter(a few filters).order_by(['-Age']):
    if age and age != x.Age:
       break
    age = x.Age