django ObjectDoesNotExist 和 DoesNotExist的用法


Posted in Python onJuly 09, 2020

举例吧,这样更容易看的懂。

例1:

from django.core.exceptions import ObjectDoesNotExist
try:
  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 表达的意思是相同的,只是写法不同,一个需要导入,一个是model的属性,如何使用看大家的个人习惯就好。

补充知识:Django入门:DoesNotExist: User matching query does not exist.

先说说引发该问题的具体代码

User.objects.filter(username='sss').get().username

当在py脚本中使用以上代码进行username是否等于“sss”判断时,如果搜索username的值等于“sss”时,其返回正确的结果,但如果搜索中不存在“sss”时,会返回如标题的错误(DoesNotExist: User matching query does not exist.),程序终止运行。终止运行意味着后面的代码不再被执行,故而得不到自己想要的结果。

由此问题可以延伸到:遇到同类问题可以怎么解决:

可以使用try…except…语句将可能会导致程序终止的语句包涵其中,具体写法如下:

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

附:try…except…语句是一个用来异常处理用法,即:当所有可能会导致程序异常点都可以使用try…except…引导程序

以上这篇django ObjectDoesNotExist 和 DoesNotExist的用法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python的一些用法分享
Oct 07 Python
python三元运算符实现方法
Dec 17 Python
Python基于pillow判断图片完整性的方法
Sep 18 Python
分享给Python新手们的几道简单练习题
Sep 21 Python
使用python实现BLAST
Feb 12 Python
python放大图片和画方格实现算法
Mar 30 Python
朴素贝叶斯Python实例及解析
Nov 19 Python
Python实现正则表达式匹配任意的邮箱方法
Dec 20 Python
Python图像处理实现两幅图像合成一幅图像的方法【测试可用】
Jan 04 Python
C++和python实现阿姆斯特朗数字查找实例代码
Dec 07 Python
详解MindSpore自定义模型损失函数
Jun 30 Python
分享提高 Python 代码的可读性的技巧
Mar 03 Python
浅谈优化Django ORM中的性能问题
Jul 09 #Python
Python单元测试及unittest框架用法实例解析
Jul 09 #Python
python 抓取知乎指定回答下视频的方法
Jul 09 #Python
Django ORM判断查询结果是否为空,判断django中的orm为空实例
Jul 09 #Python
Python Selenium模块安装使用教程详解
Jul 09 #Python
OpenCV 使用imread()函数读取图片的六种正确姿势
Jul 09 #Python
django模型类中,null=True,blank=True用法说明
Jul 09 #Python
You might like
php 转换字符串编码 iconv与mb_convert_encoding的区别说明
2011/11/10 PHP
基于php iconv函数的使用详解
2013/06/09 PHP
PHP实现的购物车类实例
2015/06/17 PHP
php超快高效率统计大文件行数
2015/07/05 PHP
php提高网站效率的技巧
2015/09/29 PHP
PHP利用APC模块实现大文件上传进度条的方法
2015/10/29 PHP
学习php设计模式 php实现门面模式(Facade)
2015/12/07 PHP
php微信公众号开发之关键词回复
2018/10/20 PHP
用PHP做了一个领取优惠券活动的示例代码
2019/07/05 PHP
javascript 写类方式之九
2009/07/05 Javascript
教你在heroku云平台上部署Node.js应用
2014/07/30 Javascript
js重写alert控件(适合学习js的新手朋友)
2014/08/24 Javascript
详解JavaScript中的Unescape()和String() 函数
2015/11/09 Javascript
jQuery对checkbox 复选框的全选全不选反选的操作
2016/08/09 Javascript
微信小程序 在Chrome浏览器上运行以及WebStorm的使用
2016/09/27 Javascript
微信小程序开发之Tabbar实例详解
2017/01/09 Javascript
laravel-admin 与 vue 结合使用实例代码详解
2019/06/04 Javascript
Jquery实现获取子元素的方法分析
2019/08/24 jQuery
使用vuex存储用户信息到localStorage的实例
2019/11/11 Javascript
Vue 图片压缩并上传至服务器功能
2020/01/15 Javascript
JS一次前端面试经历记录
2020/03/19 Javascript
vue-router之解决addRoutes使用遇到的坑
2020/07/19 Javascript
python list语法学习(带例子)
2013/11/01 Python
PyQt弹出式对话框的常用方法及标准按钮类型
2019/02/27 Python
如何在django中添加日志功能
2020/02/06 Python
python内打印变量之%和f的实例
2020/02/19 Python
python闭包与引用以及需要注意的陷阱
2020/09/18 Python
CSS3 简写animation
2012/05/10 HTML / CSS
html5的新玩法——语音搜索
2013/01/03 HTML / CSS
应届生自我鉴定
2013/12/11 职场文书
2015年资料员工作总结
2015/04/25 职场文书
2015年党务公开工作总结
2015/05/19 职场文书
2015年房地产个人工作总结
2015/05/26 职场文书
MySQL中VARCHAR与CHAR格式数据的区别
2021/05/26 MySQL
如何用Laravel包含你自己的帮助函数
2021/05/27 PHP
美国运营商 T-Mobile 以 117.83Mb/s 的速度排第一位
2022/04/21 数码科技