Django 如何编写此需求的查询?

Django 如何编写此需求的查询?,django,django-models,Django,Django Models,我的django数据库中有几十万条svn提交记录,每条记录保存每次提交的相关信息(如BugID、LinesChanged、SubmitWeek等) 我想汇总记录的每个字段信息,并根据SubmitWeek字段创建报告,如下所示: 我当前迭代记录并操作相关字段值,我想知道是否有更简洁的方法来定义查询和提取摘要?非常感谢你的问题有点模糊 如果您正在寻找一种使Django执行更多联接而更少单独查询的方法,请查看: QueryManager的values()和values\u list() 如果要

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

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


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

你的问题有点模糊

如果您正在寻找一种使Django执行更多联接而更少单独查询的方法,请查看:

  • QueryManager的
    values()
    values\u list()
如果要让Django立即获取相关对象,而不是在单独的查询中,请查看:

  • prefetch\u related()
    选择\u related()
如果要更高效地更新数据,请查看:

  • F()

参考手册,我使用了以下语句,似乎效果很好,无论如何还是要感谢Risadinha:)


谢谢,我的主要要求是,如果我运行查询并返回queryset(可能是1000条记录),是否有任何方法可以获取特定整数字段的求和结果(如LinesChanged),或者定义查询直接获取求和结果?
# 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()