当我要求模型管理器获取一个对象时,它会在没有匹配对象时引发DoesNotExist.
go = Content.objects.get(name="baby")
而不是DoesNotExist,我怎么能成为无?
没有’内置’方式来做到这一点. 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’).
查看更多关于在Python中如果对象存在,如何获取对象,如果不存在则为None?的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://www.haodehen.cn/did171219