如何最大限度地减少执行时间

时间:2013-10-29 16:35:51

标签: python django

我有这个循环:

start = datetime.now()
for entry in entries:
    related_entries = Related.objects.filter(entry_id=entry.entry_id, status='Related')
    lead_related_entries.append({'Entry': entry, 'related_entries': related_entries})
end = datetime.now()
print (end - start)

我的执行时间差不多超过7000次:

0:00:10.377000

有什么任务可以让它更快吗?

1 个答案:

答案 0 :(得分:0)

使查询运行得更快的一件事是使用Lazy loading,因此您只需加载最初需要的字段。如果您以后需要更多字段,Django将足够聪明,可以在您调用字段时为您提取它们。

参考: https://docs.djangoproject.com/en/dev/ref/models/querysets/#django.db.models.query.QuerySet.only