当我要求模型管理器获取一个对象时,它会引发DoesNotExist
当没有匹配的对象时。
go = Content.objects.get(name="baby")
代替DoesNotExist
,我怎样才能有go
be None
反而?
没有“内置”方法可以做到这一点。 Django 每次都会引发DoesNotExist 异常。
在 python 中处理这个问题的惯用方法是将其包装在 try catch 中:
try:
go = SomeModel.objects.get(foo='bar')
except SomeModel.DoesNotExist:
go = None
我所做的是将 models.Manager 子类化,创建一个safe_get
就像上面的代码一样,并为我的模型使用该管理器。这样你就可以写:SomeModel.objects.safe_get(foo='bar')
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)