举例吧,这样更容易看的懂。
例1:
from django.core.exceptions import ObjectDoesNotExist
try:
pe = Plant.objects.get(id=12873)
except ObjectDoesNotExist:
print "uuuu"
uuuu
# 我随意找了一个id=12873的对象来查询,当然,数据库里没有这个id,可以看到结果正常的打印出来
例2:
try:
pe = Plant.objects.get(id=12873)
except Plant.DoesNotExist:
print "rrr"
rrr
# 结果也如期打印,那么来看看model的属性
dir(Plant)
['DoesNotExist',
'MultipleObjectsReturned',
'__class__',
'__delattr__',
'__dict__',
'__doc__',
......
# DoesNotExist正在其中
总结:ObjectDoesNotExist 和 DoesNotExist 表达的意思是相同的,只是写法不同,一个需要导入,一个是model的属性,如何使用看大家的个人习惯就好。