gpt4 book ai didi

python - 如果对象存在,我如何获取它,或者如果它在 Django 中不存在,我如何获取它?

转载 作者:IT老高 更新时间:2023-10-28 12:21:57 27 4
gpt4 key购买 nike

当我要求模型管理器获取对象时,它会在没有匹配对象时引发 DoesNotExist

go = Content.objects.get(name="baby")

DoesNotExist,我怎样才能让 go 改为 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')

关于python - 如果对象存在,我如何获取它,或者如果它在 Django 中不存在,我如何获取它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3090302/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com