如何为此要求编写查询?

时间:2016-03-31 08:59:47

标签: django django-models

我的django数据库中有几十万条svn提交记录,每条记录保存每次提交的相关信息(如BugID,LinesChanged,SubmitWeek ......)

Field List

我想汇总记录的每个字段信息,并根据SubmitWeek字段创建报告,如下所示:

Statistics

我迭代记录并操作当前的相关字段值,我想知道是否有更简洁的方法来定义查询并提取摘要?非常感谢

2 个答案:

答案 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()