Django查询模型 - GROUP BY,MIN,MAX

Ami*_*mir 4 sqlite django django-models

我将查询转移到django时遇到问题.在sqlite3中,它看起来像这样:

SELECT A, MIN(B), MAX(B) from table GROUP BY A
Run Code Online (Sandbox Code Playgroud)

这将从A输出唯一值,其中包含一系列来自B的值.有关如何处理此问题的任何提示?在django甚至可能吗?

knb*_*nbk 7

您可以使用values()for GROUP BYannotate()for MINMAX:

from django.db.models import Min, Max

MyModel.objects.values('A').annotate(min_b=Min('B'), max_b=Max('B'))
Run Code Online (Sandbox Code Playgroud)

你会得到一个字典列表,包含密钥A,min_bmax_b.