如何在 Django 中使用过滤器进行聚合

How to do aggregation with filter in django

我需要 运行 在 Django ORM 中进行以下 SQL 查询。

select min(time) from serverName where server_id=4912;

我正在 Django ORM 中执行以下操作。

models.ServerName.objects.filter(server_id=ServerName.id).values(Min('time'))

我收到一个错误 'Min' object has no attribute 'split'。有没有办法在过滤器上进行聚合。

您需要使用查询集的聚合方法和模型聚合函数。

from django.db.models import Min
models.ServerName.objects.filter(server_id=ServerName.id).aggregate(Min('time'))

详情见https://docs.djangoproject.com/en/1.8/topics/db/aggregation/