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自动化测试工具Splinter简介和使用实例
May 13 Python
Python 列表理解及使用方法
Oct 27 Python
Centos7 Python3下安装scrapy的详细步骤
Mar 15 Python
python+pandas分析nginx日志的实例
Apr 28 Python
Python+Pandas 获取数据库并加入DataFrame的实例
Jul 25 Python
Python编写合并字典并实现敏感目录的小脚本
Feb 26 Python
用python求一重积分和二重积分的例子
Dec 06 Python
django2.2 和 PyMySQL版本兼容问题
Feb 17 Python
python统计字符串中字母出现次数代码实例
Mar 02 Python
解决Keras使用GPU资源耗尽的问题
Jun 22 Python
分享unittest单元测试框架中几种常用的用例加载方法
Dec 02 Python
python for循环赋值问题
Jun 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
thinkPHP多域名情况下使用memcache方式共享session数据的实现方法
2016/07/21 PHP
PHP7.1实现的AES与RSA加密操作示例
2018/06/15 PHP
PHP使Laravel为JSON REST API返回自定义错误的问题
2018/10/16 PHP
php中的buffer缓冲区用法分析
2019/05/31 PHP
MooTools 页面滚动浮动层智能定位实现代码
2011/08/23 Javascript
jquery 中的each()跳出循环的语句
2014/05/23 Javascript
在JavaScript中访问字符串的子串
2015/07/07 Javascript
详解JavaScript UTC时间转换方法
2016/01/07 Javascript
js判断文件格式及大小的简单实例(必看)
2016/10/11 Javascript
深入浅析Nodejs的Http模块
2017/06/20 NodeJs
基于hover的用法实例(推荐)
2017/07/04 Javascript
基于vue cli 通过命令行传参实现多环境配置
2018/07/12 Javascript
小程序实现上传视频功能
2020/08/18 Javascript
Python中常用操作字符串的函数与方法总结
2016/02/04 Python
OpenCV2从摄像头获取帧并写入视频文件的方法
2018/08/03 Python
解决python中的幂函数、指数函数问题
2019/11/25 Python
Python实现隐马尔可夫模型的前向后向算法的示例代码
2019/12/31 Python
python实现录屏功能(亲测好用)
2020/03/02 Python
Python使用graphviz画流程图过程解析
2020/03/31 Python
jupyter notebook 调用环境中的Keras或者pytorch教程
2020/04/14 Python
Python定义函数实现累计求和操作
2020/05/03 Python
基于matplotlib中ion()和ioff()的使用详解
2020/06/16 Python
torchxrayvision包安装过程(附pytorch1.6cpu版安装)
2020/08/26 Python
python 提高开发效率的5个小技巧
2020/10/19 Python
HTMl5的存储方式sessionStorage和localStorage详解
2014/03/18 HTML / CSS
小狗电器官方商城:中国高端吸尘器品牌
2017/03/29 全球购物
美国领先的在线旅游网站:Orbitz
2018/11/05 全球购物
加拿大专业美发产品购物网站:Chatters
2021/02/28 全球购物
为数据库创建索引都需要注意些什么
2012/07/17 面试题
医院护理人员的自我评价分享
2013/10/04 职场文书
小学敬老月活动方案
2014/02/11 职场文书
陈胜吴广起义口号
2014/06/20 职场文书
党员自我对照检查材料
2014/08/19 职场文书
先进班集体事迹材料
2014/12/25 职场文书
幼儿园托班开学寄语(2015秋季)
2015/05/27 职场文书
mysql 获取时间方式
2022/03/20 MySQL