加速django .exists()

时间:2017-07-25 13:07:40

标签: python django optimization django-queryset

我有一个查询TranslationStep.objects.filter(step_id=pk)。我需要检查对象是否存在,如果存在,则返回对象(或多个对象)。我已经读过.exists()是最快的方法,但我应该提出2个请求。

if TranslationStep.objects.filter(step_id=pk).exists():
 return TranslationStep.objects.filter(step_id=pk)
else:
 return None

我该如何优化它?

1 个答案:

答案 0 :(得分:4)

你根本不应该这样做。如果没有匹配,filter()将返回一个空的查询集,在布尔上下文中为False。