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八大常见排序算法定义、实现及时间消耗效率分析
Apr 27 Python
python 请求服务器的实现代码(http请求和https请求)
May 25 Python
python绘制多个曲线的折线图
Mar 23 Python
python web自制框架之接受url传递过来的参数实例
Dec 17 Python
利用python修改json文件的value方法
Dec 31 Python
python 寻找离散序列极值点的方法
Jul 10 Python
对Django中static(静态)文件详解以及{% static %}标签的使用方法
Jul 28 Python
使用OpenCV校准鱼眼镜头的方法
Nov 26 Python
Python如何实现感知器的逻辑电路
Dec 25 Python
python实现代码审查自动回复消息
Feb 01 Python
使用numpy实现矩阵的翻转(flip)与旋转
Jun 03 Python
Python移位密码、仿射变换解密实例代码
Jun 27 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代码书写习惯优化小结
2013/06/20 PHP
解析php中curl_multi的应用
2013/07/17 PHP
百度实时推送api接口应用示例
2014/10/21 PHP
php实现基于openssl的加密解密方法
2016/09/30 PHP
PHP与jquery实时显示网站在线人数实例详解
2016/12/02 PHP
PHP处理Ajax请求与Ajax跨域问题
2017/02/13 PHP
PHP反射基础知识回顾
2020/09/10 PHP
JavaScript 脚本将当地时间转换成其它时区
2009/03/19 Javascript
jQuery 通过事件委派一次绑定多种事件,以减少事件冗余
2010/06/30 Javascript
表单的焦点顺序tabindex和对应enter键提交
2013/01/04 Javascript
js获取和设置属性的方法
2014/02/20 Javascript
jquery实现不同大小浏览器使用不同的css样式表的方法
2014/04/02 Javascript
JavaScript中Date对象的常用方法示例
2015/10/24 Javascript
jQuery实现伪分页的方法分享
2016/02/17 Javascript
使用Promise解决多层异步调用的简单学习心得
2016/05/17 Javascript
AngularJS入门教程之ng-checked 指令详解
2016/08/01 Javascript
Vue filter介绍及详细使用
2018/04/04 Javascript
nodejs实现范围请求的实现代码
2018/10/12 NodeJs
详解vue中axios的使用与封装
2019/03/20 Javascript
vue遍历生成的输入框 绑定及修改值示例
2019/10/30 Javascript
ant-design-vue按需加载的坑的解决
2020/05/14 Javascript
nuxt.js添加环境变量,区分项目打包环境操作
2020/11/06 Javascript
一起来了解一下JavaScript的预编译(小结)
2021/03/01 Javascript
连接Python程序与MySQL的教程
2015/04/29 Python
python并发编程多进程之守护进程原理解析
2019/08/20 Python
Python3如何在Windows和Linux上打包
2020/02/25 Python
python对execl 处理操作代码
2020/06/22 Python
Hotels.com英国:全球领先的酒店住宿提供商
2019/01/24 全球购物
后勤人员自我鉴定
2013/10/20 职场文书
兼职学生的自我评价
2013/11/24 职场文书
酒店副总岗位职责
2013/12/24 职场文书
幼儿园语言教学反思
2016/02/23 职场文书
2019年学校消防安全责任书(2篇)
2019/10/09 职场文书
关于flex 上下文中自动 margin的问题(完整例子)
2021/05/20 HTML / CSS
如何使用PostgreSQL进行中文全文检索
2021/05/27 PostgreSQL
CSS基础详解
2021/10/16 HTML / CSS