一尘不染

在Django中检查空的查询集

django

建议的用于检查查询是否返回任何结果的惯用法是什么?
例:

orgs = Organisation.objects.filter(name__iexact = 'Fjuk inc')
# If any results
    # Do this with the results without querying again.
# Else, do something else...

我想有几种不同的检查方法,但是我想知道一个有经验的Django用户将如何做。文档中的大多数示例只是忽略了什么都没有发现的情况…


阅读 389

收藏
2020-03-31

共2个答案

一尘不染

if not orgs:
    # Do this...
else:
    # Do that...
2020-03-31
一尘不染

从1.2版开始,Django具有QuerySet。最有效的exist()方法:

if orgs.exists():
    # Do this...
else:
    # Do that...

但是,无论如何,如果要评估QuerySet,最好使用:

if orgs:
   ...
2020-03-31