运维开发网

DoesNotExist的用法

运维开发网 https://www.qedev.com 2022-05-08 16:01 出处:网络
这篇文章主要介绍了django ObjectDoesNotExist 和 DoesNotExist的用法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

这篇文章主要介绍了django ObjectDoesNotExist 和 DoesNotExist的用法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

比如更容易理解。

示例1:

from django.core.exceptions import ObjectDoesNotExisttry: pe = Plant.objects.get(id=12873)except ObjectDoesNotExist: print "uuuu"uuuu# 我随意找了一个id=12873的对象来查询,当然,数据库里没有这个id,可以看到结果正常的打印出来

示例2:

try: pe = Plant.objects.get(id=12873)except Plant.DoesNotExist: print "rrr"rrr# 结果也如期打印,那么来看看model的属性dir(Plant) ['DoesNotExist', 'MultipleObjectsReturned', '__class__', '__delattr__', '__dict__', '__doc__', ......# DoesNotExist正在其中

总结:ObjectDoesNotExist和DoesNotExist表达的意思一样,只是写法不同。一个需要导入,一个是模型的属性。如何使用取决于每个人的个人习惯。

新增知识:Django简介:不存在:匹配查询的用户不存在。

我们来说说导致问题的具体代码。

User.objects.filter(用户名='sss ')。获取()。用户名

在py脚本中使用上述代码判断username是否等于“sss”时,如果username的值等于“sss”,则返回一个正确的结果,但如果搜索中没有“sss”,则返回一个类似标题的错误(不存在:用户匹配查询不存在。),程序将停止运行。终止意味着下面的代码不再执行,所以你得不到想要的结果。

这个问题可以引申为:如何解决类似的问题;

您可以使用try…except…语句来包含可能导致程序终止的语句,具体如下:

try: User.objects.filter(username=username).get().usernameexcept: pass

附:try…except…语句是一种用于异常处理的用法,即try…except…可用于在所有可能导致程序异常的点时引导程序。

django ObjectDoesNotExist和DoesNotExist的上述用法是边肖分享的所有内容。希望给大家一个参考,也希望大家多多支持源搜网。


0

精彩评论

暂无评论...
验证码 换一张
取 消