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 09 Python
Python 和 JS 有哪些相同之处
Nov 23 Python
Python实现的求解最大公约数算法示例
May 03 Python
python实现反转部分单向链表
Sep 27 Python
对numpy中数组转置的求解以及向量内积计算方法
Oct 31 Python
对python中xlsx,csv以及json文件的相互转化方法详解
Dec 25 Python
python里dict变成list实例方法
Jun 26 Python
python脚本开机自启的实现方法
Jun 28 Python
Python 动态变量名定义与调用方法
Feb 09 Python
Python任务调度利器之APScheduler详解
Apr 02 Python
pycharm 代码自动补全的实现方法(图文)
Sep 18 Python
利用Python发送邮件或发带附件的邮件
Nov 12 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
Base64在线编码解码实现代码 演示与下载
2011/01/08 PHP
php基础学习之变量的使用
2011/06/09 PHP
php模拟js函数unescape的函数代码
2012/10/20 PHP
关于shopex同步ucenter的redirect问题,导致script不运行
2013/04/10 PHP
PHP中if和or运行效率对比
2014/12/12 PHP
php计算年龄精准到年月日
2015/11/17 PHP
Yii净化器CHtmlPurifier用法示例(过滤不良代码)
2016/07/15 PHP
Laravel中encrypt和decrypt的实现方法
2017/09/24 PHP
php策略模式简单示例分析【区别于工厂模式】
2019/09/25 PHP
用js+xml自动生成表格的东西
2006/12/21 Javascript
浅析javascript闭包 实例分析
2010/12/25 Javascript
JavaScript网页定位详解
2014/01/13 Javascript
使用jquery.validate自定义方法实现"手机号码或者固话至少填写一个"的逻辑验证
2014/09/01 Javascript
jQuery插件EnPlaceholder实现输入框提示文字
2015/06/05 Javascript
Bootstrap Table使用方法解析
2016/10/19 Javascript
js验证手机号、密码、短信验证码代码工具类
2020/06/24 Javascript
vue-cli+webpack在生成的项目中使用bootstrap实例代码
2017/05/26 Javascript
JavaScript 日期时间选择器一些小结
2018/04/02 Javascript
vue基于mint-ui实现城市选择三级联动
2020/06/30 Javascript
微信小程序实现运动步数排行功能(可删除)
2018/07/05 Javascript
使用Vue实现调用接口加载页面初始数据
2019/10/28 Javascript
javascript实现扫雷简易版
2020/08/18 Javascript
原生js实现自定义难度的扫雷游戏
2021/01/22 Javascript
pygame学习笔记(4):声音控制
2015/04/15 Python
Python3.7实现中控考勤机自动连接
2018/08/28 Python
Scrapy框架使用的基本知识
2018/10/21 Python
python爬虫构建代理ip池抓取数据库的示例代码
2020/09/22 Python
细说NumPy数组的四种乘法的使用
2020/12/18 Python
三只松鼠官方旗舰店:全网坚果销售第1
2017/11/25 全球购物
党员实事承诺书
2014/03/26 职场文书
个人收入证明模板
2014/09/18 职场文书
党的群众路线教育实践活动个人对照检查材料范文
2014/09/25 职场文书
2014年小学教师工作总结
2014/11/10 职场文书
2015教师见习期工作总结
2014/12/12 职场文书
Spring整合Mybatis的全过程
2021/06/28 Java/Android
分享Python获取本机IP地址的几种方法
2022/03/17 Python