是否有一种方法可以在一次呼叫中完成以下操作:
Model.objects.get(id=1) else None
字符串
我找到的唯一方法就是:
try:
object = Model...
except:
object = None
型
有没有办法在django的一次调用中做到这一点?
更新:除了在try/except
块中,似乎没有其他方法可以做到这一点,但这里有一个更好的答案:In Django, how do I objects.get, but return None when nothing is found?
5条答案
按热度按时间vatpfxk51#
不如这样:
字符串
现在,如果没有id=1的对象存在,则obj将为None
参考:https://docs.djangoproject.com/en/3.2/ref/models/querysets/#django.db.models.query.QuerySet.first
wxclj1h52#
如果你在web请求中使用它,并且你想在对象不存在时返回404,也许你应该使用
字符串
jdg4fx2g3#
这个怎么样?
字符串
twh00eeo4#
get_object_or_404
在你的模型中。……
字符串
llmtgqce5#
我认为最好尽可能多地重用Django功能,并且Django有99%类似的func
get_object_or_404
,它只是引发了Http404字符串
部分测试用例说明代码可用于Model、Queryset、RelatedManager
型