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 07 Python
Python代码的打包与发布详解
Jul 30 Python
Python实现的一个找零钱的小程序代码分享
Aug 25 Python
Python读取mp3中ID3信息的方法
Mar 05 Python
深入解析Python中的上下文管理器
Jun 28 Python
详谈在flask中使用jsonify和json.dumps的区别
Mar 26 Python
python 编码规范整理
May 05 Python
windows下python 3.6.4安装配置图文教程
Aug 21 Python
Python正则表达式实现简易计算器功能示例
May 07 Python
python使用celery实现异步任务执行的例子
Aug 28 Python
TensorBoard 计算图的查看方式
Feb 15 Python
Python在centos7.6上安装python3.9的详细教程(默认python版本为2.7.5)
Oct 15 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
ThinkPHP3.0略缩图不能保存到子目录的解决方法
2012/09/30 PHP
curl和libcurl的区别简介
2015/07/01 PHP
PHP的命令行命令使用指南
2015/08/18 PHP
该如何加载google-analytics(或其他第三方)的JS
2010/05/13 Javascript
javascript中用星号表示预录入内容的实现代码
2011/01/08 Javascript
JavaScript子类用Object.getPrototypeOf去调用父类方法解析
2013/12/05 Javascript
JS实现模仿微博发布效果实例代码
2013/12/16 Javascript
使用JavaScript实现网页版Pongo设计思路及源代码分享
2014/06/16 Javascript
js实现禁止中文输入的方法
2015/01/14 Javascript
JavaScript中toString()方法的使用详解
2015/06/05 Javascript
简单实现bootstrap选项卡效果
2017/02/08 Javascript
vue轮播图插件vue-awesome-swiper
2017/11/27 Javascript
在vue项目创建的后初始化首次使用stylus安装方法分享
2018/01/25 Javascript
10分钟上手vue-cli 3.0 入门介绍
2018/04/04 Javascript
python编写暴力破解FTP密码小工具
2014/11/19 Python
Python多线程编程(七):使用Condition实现复杂同步
2015/04/05 Python
Python 转义字符详细介绍
2017/03/21 Python
python过滤中英文标点符号的实例代码
2019/07/15 Python
Django 响应数据response的返回源码详解
2019/08/06 Python
Python Collatz序列实现过程解析
2019/10/12 Python
django-利用session机制实现唯一登录的例子
2020/03/16 Python
jenkins+python自动化测试持续集成教程
2020/05/12 Python
FILA斐乐中国官方商城:意大利运动品牌
2017/01/25 全球购物
廉价航班、机票和酒店:JustFly
2018/02/07 全球购物
美国购买肉、鸭、家禽、鹅肝和熟食网站:D’Artagnan
2018/11/13 全球购物
澳大利亚领先的武术用品和健身器材供应商:SMAI
2019/03/24 全球购物
ZWILLING双立人法国网上商店:德国刀具锅具厨具品牌
2019/08/28 全球购物
什么是.net
2015/08/03 面试题
教师申诉制度
2014/01/29 职场文书
运动会广播稿200字(10篇)
2014/10/12 职场文书
2015年科室工作总结
2015/04/10 职场文书
2015年校医个人工作总结
2015/07/24 职场文书
百年校庆宣传标语口号
2015/12/26 职场文书
浅谈Python中的函数(def)及参数传递操作
2021/05/25 Python
数据库之SQL技巧整理案例
2021/07/07 SQL Server
HTML+JS实现在线朗读器
2022/02/15 Javascript