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 相关文章推荐
go语言计算两个时间的时间差方法
Mar 13 Python
使用Python的Twisted框架实现一个简单的服务器
Apr 16 Python
Python入门之三角函数全解【收藏】
Nov 08 Python
Python字典的核心底层原理讲解
Jan 24 Python
Python学习笔记之读取文件、OS模块、异常处理、with as语法示例
Jun 04 Python
Django 后台获取文件列表 InMemoryUploadedFile的例子
Aug 07 Python
Python上下文管理器类和上下文管理器装饰器contextmanager用法实例分析
Nov 07 Python
Python PyInstaller安装和使用教程详解
Jan 08 Python
python 爬取马蜂窝景点翻页文字评论的实现
Jan 20 Python
Python3如何使用tabulate打印数据
Sep 25 Python
python 实现关联规则算法Apriori的示例
Sep 30 Python
Django实现翻页的示例代码
May 24 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开发负载均衡指南
2010/07/17 PHP
通过PHP简单实例介绍文件上传
2015/12/16 PHP
ThinkPHP静态缓存简单配置和使用方法详解
2016/03/23 PHP
深入理解PHP中的empty和isset函数
2016/05/26 PHP
phpstudy默认不支持64位php的解决方法
2017/02/20 PHP
PHP配合fiddler抓包抓取微信指数小程序数据的实现方法分析
2020/01/02 PHP
JavaScript prototype对象的属性说明
2010/03/13 Javascript
关于flash遮盖div浮动层的解决方法
2010/07/17 Javascript
Document对象内容集合(比较全)
2010/09/06 Javascript
js数组去重的常用方法总结
2014/01/24 Javascript
JS小游戏之宇宙战机源码详解
2014/09/25 Javascript
JS实现倒计时和文字滚动的效果实例
2014/10/29 Javascript
AngularJS实现Model缓存的方式
2016/02/03 Javascript
JS代码实现table数据分页效果
2016/05/26 Javascript
AngularJS 依赖注入详解及示例代码
2016/08/17 Javascript
JS 调用微信扫一扫功能
2016/12/22 Javascript
angularJS+requireJS实现controller及directive的按需加载示例
2017/02/20 Javascript
bootstrap+jquery项目引入文件报错的解决方法
2018/01/22 jQuery
Vue起步(无cli)的啊教程详解
2019/04/11 Javascript
Jquery动态列功能完整实例
2019/08/30 jQuery
小程序怎样让wx.navigateBack更好用的方法实现
2019/11/01 Javascript
文章或博客自动生成章节目录索引(支持三级)的实现代码
2020/05/10 Javascript
wxpython学习笔记(推荐查看)
2014/06/09 Python
六个窍门助你提高Python运行效率
2015/06/09 Python
Windows平台Python连接sqlite3数据库的方法分析
2017/07/12 Python
Python爬虫框架Scrapy基本用法入门教程
2018/07/26 Python
python DataFrame 取差集实例
2019/01/30 Python
Django 用户认证组件使用详解
2019/07/23 Python
Python:slice与indices的用法
2019/11/25 Python
django框架两个使用模板实例
2019/12/11 Python
详解查看Python解释器路径的两种方式
2020/10/15 Python
机械工程师求职自我评价
2013/09/23 职场文书
大学生最新职业生涯规划书范文
2014/01/12 职场文书
周年庆典邀请函范文
2014/01/24 职场文书
2014年法院个人工作总结
2014/12/17 职场文书
MySQL创建管理LIST分区
2022/04/13 MySQL