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实现大文件排序的方法
Jul 10 Python
python实现井字棋游戏
Mar 30 Python
详解python 发送邮件实例代码
Dec 22 Python
Python基于递归算法实现的走迷宫问题
Aug 04 Python
Django1.9 加载通过ImageField上传的图片方法
May 25 Python
Appium Python自动化测试之环境搭建的步骤
Jan 23 Python
Python一行代码实现快速排序的方法
Apr 30 Python
Python3之不使用第三方变量,实现交换两个变量的值
Jun 26 Python
python序列类型种类详解
Feb 26 Python
使用Python实现批量ping操作方法
May 06 Python
哈工大自然语言处理工具箱之ltp在windows10下的安装使用教程
May 07 Python
使用Python快速打开一个百万行级别的超大Excel文件的方法
Mar 02 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公用函数列表[正则]
2007/02/22 PHP
php中http_build_query 的一个问题
2012/03/25 PHP
wamp下修改mysql访问密码的解决方法
2013/05/07 PHP
php 批量替换程序的具体实现代码
2013/10/04 PHP
php+xml结合Ajax实现点赞功能完整实例
2015/01/30 PHP
三个思路解决laravel上传文件报错:413 Request Entity Too Large问题
2017/11/13 PHP
详解php中生成标准uuid(guid)的方法
2019/04/28 PHP
JQuery优缺点分析说明
2010/06/09 Javascript
JavaScript 学习笔记之操作符
2015/01/14 Javascript
jQuery过滤选择器用法分析
2015/02/10 Javascript
JS中prototype的用法实例分析
2015/03/19 Javascript
js闭包实现按秒计数
2015/04/23 Javascript
JavaScript判断图片是否已经加载完毕的方法汇总
2016/02/05 Javascript
javascript轻量级库createjs使用Easel实现拖拽效果
2016/02/19 Javascript
浅谈Jquery中Ajax异步请求中的async参数的作用
2016/06/06 Javascript
JS导出PDF插件的方法(支持中文、图片使用路径)
2016/07/12 Javascript
js实现九宫格拼图小游戏
2017/02/13 Javascript
js实现移动端微信页面禁止字体放大
2017/02/16 Javascript
es6新特性之 class 基本用法解析
2018/05/05 Javascript
Vue表单控件绑定图文详解
2019/02/11 Javascript
Javascript Dom元素获取和添加详解
2019/09/24 Javascript
vue实现瀑布流组件滑动加载更多
2020/03/10 Javascript
vue页面引入three.js实现3d动画场景操作
2020/08/10 Javascript
Python实现的生成格雷码功能示例
2018/01/24 Python
python3.6利用pyinstall打包py为exe的操作实例
2018/10/31 Python
python print输出延时,让其立刻输出的方法
2019/01/07 Python
django 信号调度机制详解
2019/07/19 Python
python3 实现调用串口功能
2019/12/26 Python
Python使用xpath实现图片爬取
2020/09/16 Python
python将下载到本地m3u8视频合成MP4的代码详解
2020/11/24 Python
第一范式(1NF)、第二范式(2NF)和第三范式(3NF)之间的区别是什么?
2016/04/28 面试题
本科毕业生自我鉴定
2013/11/02 职场文书
实习生体会的自我评价范文
2013/11/28 职场文书
致800米运动员广播稿
2014/02/16 职场文书
一句话工作感言
2014/03/01 职场文书
护士长竞聘演讲稿
2014/04/30 职场文书