我有一个名为campaign_list
的模型列表,如下所示,在每个模型中都有一些公共字段(like overall_score, audit_date, audit_id).我想找出每个月的average score美元.我已经写了下面的代码和它works but the execution time is more.我想优化执行时间.Execution time increases as the number of records increases张(目前我有200k+的记录,还在增加中).
# List of 40 Models
campaign_list = [Model1, Model2, Model3, ....., ModelN]
# Method 1
campaign_score = sum([sum([j.overall_score for j in i.objects.filter(audit_date__range=[start_date, todays_date])]) for i in campaign_list])
# Method 2
campaign_score = 0
for i in campaign_list:
score = sum([j.overall_score for j in i.objects.filter(audit_date__range=[start_date, todays_date])])
campaign_score += score