【发布时间】:2016-03-31 08:59:47
【问题描述】:
我的 django 数据库中有几十万条 svn 提交记录,每条记录都保存了每次提交的相关信息(如 BugID、LinesChanged、SubmitWeek ...)
我想汇总记录的每个字段信息并根据 SubmitWeek 字段创建报告,如下所示:
我目前迭代记录和操作相关字段值,我想知道是否有更简洁的方式来定义查询和提取摘要?非常感谢
【问题讨论】:
标签: django django-models
我的 django 数据库中有几十万条 svn 提交记录,每条记录都保存了每次提交的相关信息(如 BugID、LinesChanged、SubmitWeek ...)
我想汇总记录的每个字段信息并根据 SubmitWeek 字段创建报告,如下所示:
我目前迭代记录和操作相关字段值,我想知道是否有更简洁的方式来定义查询和提取摘要?非常感谢
【问题讨论】:
标签: django django-models
你的问题有点含糊。
如果您正在寻找一种方法来形成更具体的查询以使 Django 执行更多的连接和更少的单独查询,请查看:
values() 和values_list()
如果您想让 Django 一次获取相关对象而不是在单独的查询中,请查看:
prefetch_related() 和 select_related()
如果您想更有效地更新数据,请查看:
【讨论】:
参考手册,我使用了以下语句,它似乎效果很好,无论如何感谢 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()
【讨论】: