如何在django中使用group by和select the max one

w51jfk4q  于 2021-06-20  发布在  Mysql
关注(0)|答案(2)|浏览(282)

我在mysql中有一个表,比如:

id  dirId filename
 1   1      jone
 2   1      jack
 3   2      jack
 4   3      ella

我想要最大的 dir_id (和 filename )同样的 filename . 我们可以用 group by 在mysql中,在django中使用什么?

f1tvaqid

f1tvaqid1#

在django中可以这样使用groupby语法。

ModelClass.objects.filter(...).values('filename').annotate(dir_id=models.Max('dirId'))
0ve6wy6x

0ve6wy6x2#

我用这些代码得到它:
1.a1=modelclass.objects.all()2.a2=a1.values\u list('filename',flat='true').distinct()3.a2中的itr:a1.filter(filename=itr).order\u by('dirid')不知道它是否足够快。

相关问题