我的django数据库中有几十万条svn提交记录,每条记录保存每次提交的相关信息(如BugID,LinesChanged,SubmitWeek ......)
我想汇总记录的每个字段信息,并根据SubmitWeek字段创建报告,如下所示:
我迭代记录并操作当前的相关字段值,我想知道是否有更简洁的方法来定义查询并提取摘要?非常感谢
答案 0 :(得分:0)
你的问题有点模糊。
如果您正在寻找一种方法来形成更具体的查询,以使Django做更多的连接和更少的单独查询,请查看:
values()
和values_list()
的QueryManager 如果你想让Django一次获取相关对象而不是单独的查询,请看看:
prefetch_related()
和select_related()
如果您想更有效地更新数据,请查看:
答案 1 :(得分:0)
参考手册,我使用了以下陈述,看起来效果很好,无论如何感谢Risadinha:)
# Sum all the records's LinesChanged value
SVN_Commit.objects.filter(my filter).aggregate(Sum('LinesChanged'))
# Get the unique SubmitWeek List
SVN_Commit.objects.filter(my filter).values_list('SubmitWeek', flat=True).order_by('SubmitWeek').distinct()