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 相关文章推荐
通过C++学习Python
Jan 20 Python
python 实现视频流下载保存MP4的方法
Jan 09 Python
python中嵌套函数的实操步骤
Feb 27 Python
Python 把序列转换为元组的函数tuple方法
Jun 27 Python
基于python实现语音录入识别代码实例
Jan 17 Python
tensorflow指定GPU与动态分配GPU memory设置
Feb 03 Python
django中related_name的用法说明
May 20 Python
python thrift 实现 单端口多服务的过程
Jun 08 Python
浅谈Python中的字符串
Jun 10 Python
Python调用系统命令os.system()和os.popen()的实现
Dec 31 Python
Python爬虫自动化获取华图和粉笔网站的错题(推荐)
Jan 08 Python
python向xls写入数据(包括合并,边框,对齐,列宽)
Feb 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更新mysql后获取影响的行数发生异常解决方法
2013/03/28 PHP
php selectradio和checkbox默认选择的实现方法详解
2013/06/29 PHP
php中替换字符串中的空格为逗号','的方法
2014/06/09 PHP
php中删除、清空session的方式总结
2015/10/09 PHP
基于PHP生成简单的验证码
2016/06/01 PHP
php数据库的增删改查 php与javascript之间的交互
2017/08/31 PHP
Laravel5.1 框架路由基础详解
2020/01/04 PHP
PHP实现倒计时功能
2020/11/16 PHP
有效的捕获JavaScript焦点的方法小结
2009/10/08 Javascript
javascript 中String.match()与RegExp.exec()的区别说明
2013/01/10 Javascript
原生Js页面滚动延迟加载图片实现原理及过程
2013/06/24 Javascript
js动态修改input输入框的type属性(实现方法解析)
2013/11/13 Javascript
jquery图片轮播插件仿支付宝2013版全屏图片幻灯片
2014/04/03 Javascript
浅谈javascript中for in 和 for each in的区别
2015/04/23 Javascript
javascript文本模板用法实例
2015/07/31 Javascript
JavaScript多图片上传案例
2015/09/28 Javascript
完美的js div拖拽实例代码
2016/09/24 Javascript
微信开发之微信jssdk录音功能开发示例
2018/10/22 Javascript
送你43道JS面试题(收藏)
2019/06/17 Javascript
浅谈javascript错误处理
2019/08/11 Javascript
vue递归组件实战之简单树形控件实例代码
2019/08/27 Javascript
使用python在校内发人人网状态(人人网看状态)
2014/02/19 Python
使用python编写批量卸载手机中安装的android应用脚本
2014/07/21 Python
Python爬虫之模拟知乎登录的方法教程
2017/05/25 Python
Python 3.6 性能测试框架Locust安装及使用方法(详解)
2017/10/11 Python
详解K-means算法在Python中的实现
2017/12/05 Python
python判断一个对象是否可迭代的例子
2019/07/22 Python
django有哪些好处和优点
2020/09/01 Python
Python类的继承super相关原理解析
2020/10/22 Python
POP文化和音乐灵感的时尚:Hot Topic
2019/06/19 全球购物
注册资产评估专业求职信
2014/07/16 职场文书
人事行政专员岗位职责
2014/07/23 职场文书
班级联欢会主持词
2015/07/03 职场文书
管理者们如何制定2019年的工作计划?
2019/07/01 职场文书
一行代码python实现文件共享服务器
2021/04/22 Python
详解Python+OpenCV绘制灰度直方图
2022/03/22 Python