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的ORM框架SQLAlchemy入门教程
Apr 28 Python
Python开发WebService系列教程之REST,web.py,eurasia,Django
Jun 30 Python
Python判断列表是否已排序的各种方法及其性能分析
Jun 20 Python
PyQt5每天必学之创建窗口居中效果
Apr 19 Python
python保存文件方法小结
Jul 27 Python
Python开发虚拟环境使用virtualenvwrapper的搭建步骤教程图解
Sep 19 Python
对python中的float除法和整除法的实例详解
Jul 20 Python
python3发送邮件需要经过代理服务器的示例代码
Jul 25 Python
Python list运算操作代码实例解析
Jan 20 Python
基于OpenCV的路面质量检测的实现
Nov 04 Python
用OpenCV进行年龄和性别检测的实现示例
Jan 29 Python
如何在pycharm中快捷安装pip命令(如pygame)
May 31 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字符串函数学习之strstr()
2015/03/27 PHP
php 多进程编程父进程的阻塞与非阻塞实例分析
2020/02/22 PHP
改写一个简单的菜单 弹性大小
2010/12/02 Javascript
关于hashchangebroker和statehashable的补充文档
2011/08/08 Javascript
简短几句jquery代码的实现一个图片向上滚动切换
2011/09/02 Javascript
jQuery.query.js 取参数的两点问题分析
2012/08/06 Javascript
jquery仿QQ商城带左右按钮控制焦点图片切换滚动效果
2013/06/27 Javascript
javascript的propertyIsEnumerable()方法使用介绍
2014/04/09 Javascript
js实现iframe自动自适应高度的方法
2015/02/17 Javascript
利用JS实现数字增长
2016/07/28 Javascript
angularjs ocLazyLoad分步加载js文件实例
2017/01/17 Javascript
JS中IP地址与整数相互转换的实现代码
2017/04/10 Javascript
利用JS测试目标网站的打开响应速度
2017/12/01 Javascript
详解vue使用插槽分发内容slot的用法
2019/03/28 Javascript
[03:42]2014DOTA2国际邀请赛 第三日比赛排位扑朔迷离
2014/07/12 DOTA
Python中类的继承代码实例
2014/10/28 Python
python中使用正则表达式的后向搜索肯定模式(推荐)
2017/11/11 Python
pycharm下打开、执行并调试scrapy爬虫程序的方法
2017/11/29 Python
TensorFlow中如何确定张量的形状实例
2020/06/23 Python
python中turtle库的简单使用教程
2020/11/11 Python
python 简单的调用有道翻译
2020/11/25 Python
java字符串格式化输出实例讲解
2021/01/06 Python
解决pycharm不能自动保存在远程linux中的问题
2021/02/06 Python
CSS3实现超慢速移动动画效果非常流畅无卡顿
2014/06/15 HTML / CSS
施华洛世奇德国官网:SWAROVSKI德国
2017/02/01 全球购物
美国最好的钓鱼、狩猎和划船装备商店:Bass Pro Shops
2018/12/02 全球购物
优秀学生事迹材料
2014/02/08 职场文书
手术室护士长竞聘书
2014/03/31 职场文书
秋天的怀念教学反思
2014/04/28 职场文书
部队2014年终工作总结
2014/11/27 职场文书
2015年元旦主持词结束语
2014/12/14 职场文书
2014年标准化工作总结
2014/12/17 职场文书
先进基层党组织事迹材料2016
2016/02/29 职场文书
2016年社区植树节活动总结
2016/03/16 职场文书
MySQL表的增删改查(基础)
2021/04/05 MySQL
python实现局部图像放大
2021/11/17 Python