在 Django 中如何检查查询是否存在任何条目

sc=scorm.objects.filter(Header__id=qp.id)

这就是它在 php 中的完成方式
if(mysql_num_rows($resultn)) {
    // True condition
    }
else {
    // False condition
    }

最佳答案

使用 count() :

sc=scorm.objects.filter(Header__id=qp.id)

if sc.count() > 0:
   ...

优于例如len() 是 QuerySet 尚未评估:



考虑到这一点,When QuerySets are evaluated 值得一读。

如果您使用 get() ,例如scorm.objects.get(pk=someid) ,并且对象不存在,引发 ObjectDoesNotExist 异常:
from django.core.exceptions import ObjectDoesNotExist
try:
    sc = scorm.objects.get(pk=someid)
except ObjectDoesNotExist:
    print ...

更新:
也可以使用 exists() :
if scorm.objects.filter(Header__id=qp.id).exists():
    ....

关于python - Django检查查询是否存在,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2690521/

10-13 09:52