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文件及目录操作实例详解
Jun 04 Python
python检查URL是否正常访问的小技巧
Feb 25 Python
python urllib urlopen()对象方法/代理的补充说明
Jun 29 Python
python正则表达式及使用正则表达式的例子
Jan 22 Python
Python matplotlib的使用并自定义colormap的方法
Dec 13 Python
Python 保存矩阵为Excel的实现方法
Jan 28 Python
Python实现通过解析域名获取ip地址的方法分析
May 17 Python
pyqt5 实现工具栏文字图片同时显示
Jun 13 Python
Python中Flask-RESTful编写API接口(小白入门)
Dec 11 Python
Python获取二维数组的行列数的2种方法
Feb 11 Python
python openssl模块安装及用法
Dec 06 Python
Python实现生活常识解答机器人
Jun 28 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更新购物车数量(表单部分/PHP处理部分)
2013/05/03 PHP
将酷狗krc歌词解析并转换为lrc歌词php源码
2014/06/20 PHP
PHP冒泡算法详解(递归实现)
2014/11/10 PHP
php排序算法实例分析
2016/10/17 PHP
PHP实现无限分类的实现方法
2016/11/14 PHP
详解php语言最牛掰的Laravel框架
2017/11/20 PHP
php基于Redis消息队列实现的消息推送的方法
2018/11/28 PHP
PHP dirname功能及原理实例解析
2020/10/28 PHP
读jQuery之十二 删除事件核心方法
2011/07/31 Javascript
JavaScript String.replace函数参数实例说明
2013/06/06 Javascript
动态加载dtree.js树treeview(示例代码)
2013/12/17 Javascript
javascript window.open打开新窗口后无法再次打开该窗口问题的解决方法
2014/04/12 Javascript
jquery中change()用法实例分析
2015/02/06 Javascript
快速掌握Node.js模块封装及使用
2016/03/21 Javascript
原生JS下拉加载插件分享
2016/12/26 Javascript
javascript表达式和运算符详解
2017/02/07 Javascript
javascript实现循环广告条效果
2017/12/12 Javascript
webpack搭建vue 项目的步骤
2017/12/27 Javascript
在vue项目创建的后初始化首次使用stylus安装方法分享
2018/01/25 Javascript
使用use注册Vue全局组件和全局指令的方法
2018/03/08 Javascript
webpack中的热刷新与热加载的区别
2018/04/09 Javascript
使用element-ui table expand展开行实现手风琴效果
2019/03/15 Javascript
vue router 组件的高级应用实例代码
2019/04/08 Javascript
微信小程序实现菜单左右联动
2020/05/19 Javascript
JavaScript快速调试的两个技巧
2020/11/04 Javascript
Django实现图片文字同时提交的方法
2015/05/26 Python
Python win32com 操作Exce的l简单方法(必看)
2017/05/25 Python
Django自定义用户认证示例详解
2018/03/14 Python
python中必要的名词解释
2019/11/20 Python
python爬虫如何解决图片验证码
2021/02/14 Python
几个CSS3的flex弹性盒模型布局的简单例子演示
2016/05/12 HTML / CSS
芝加哥牛排公司:Chicago Steak Company
2018/10/31 全球购物
ZINVO手表官网:男士和女士手表
2019/03/10 全球购物
大学生自我鉴定
2013/12/16 职场文书
导购员的岗位职责
2014/02/08 职场文书
2016七夕情人节寄语
2015/12/04 职场文书