我的模型名为IssueFlags,其中包含列: id,created_at,flags_id,issue_id,comments
我想获取有关flags_id,created_at和comments
的信息的唯一issue_id(最新创建)的数据通过sql,它的工作方式如下:
SELECT created_at, flags_id, issue_id, comments
FROM Issues_issueflags
group by issue_id
如何在Django中做同样的事情?我试着在shell中编写sth,但是没有属性组
IssueFlags.objects.order_by('-created_at')
以上仅返回有序数据列表。
答案 0 :(得分:1)
尝试这样做:
from django.db.models import Count
IssueFlags.objects.values('created_at', 'flags_id', 'issue_id', 'comments').order_by('-created_at').annotate(total=Count('issue_id'))
我写过annotate(total=Count('issue_id'))
假设您有多个唯一的issue_id条目(请注意,您可以执行所有可能类型的聚合,如Sum,Count,Max,Avg inside。此外,已经存在答案,在django中进行分组。还要查看此link或此link。另外,请阅读此django documentation以清楚了解何时在注释()之前放置values()以及何时将其放置,然后根据您的要求实施学习。
如果您有任何疑问,将很乐意提供帮助。