建议的用于检查查询是否返回任何结果的惯用法是什么? 例:
orgs = Organisation.objects.filter(name__iexact = 'Fjuk inc') # If any results # Do this with the results without querying again. # Else, do something else...
我想有几种不同的检查方法,但是我想知道一个有经验的Django用户将如何做。文档中的大多数示例只是忽略了什么都没有发现的情况…
if not orgs: # Do this... else: # Do that...
从1.2版开始,Django具有QuerySet。最有效的exist()方法:
if orgs.exists(): # Do this... else: # Do that...
但是,无论如何,如果要评估QuerySet,最好使用:
if orgs: ...