擅长:python、mysql、java
<p>没有“内置”的方法可以做到这一点。Django每次都会提出DoesNotExist异常。
在python中处理此问题的惯用方法是用try-catch将其包装起来:</p>
<pre><code>try:
go = SomeModel.objects.get(foo='bar')
except SomeModel.DoesNotExist:
go = None
</code></pre>
<p>我所做的,是将models.Manager子类化,创建一个类似于上面代码的<code>safe_get</code>,并将该管理器用于我的模型。这样你就可以写:<code>SomeModel.objects.safe_get(foo='bar')</code>。</p>