好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

在Python中如果对象存在,如何获取对象,如果不存在则为None?

当我要求模型管理器获取一个对象时,它会在没有匹配对象时引发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?的详细内容...

  阅读:35次