在Python的Django框架中获取单个对象数据的简单方法


Posted in Python onJuly 17, 2015

相对列表来说,有些时候我们更需要获取单个的对象, `` get()`` 方法就是在此时使用的:

>>> Publisher.objects.get(name="Apress")
<Publisher: Apress>

这样,就返回了单个对象,而不是列表(更准确的说,QuerySet)。 所以,如果结果是多个对象,会导致抛出异常:

>>> Publisher.objects.get(country="U.S.A.")
Traceback (most recent call last):
  ...
MultipleObjectsReturned: get() returned more than one Publisher --
  it returned 2! Lookup parameters were {'country': 'U.S.A.'}

如果查询没有返回结果也会抛出异常:

>>> Publisher.objects.get(name="Penguin")
Traceback (most recent call last):
  ...
DoesNotExist: Publisher matching query does not exist.

这个 DoesNotExist 异常 是 Publisher 这个 model 类的一个属性,即 Publisher.DoesNotExist。在你的应用中,你可以捕获并处理这个异常,像这样:

try:
  p = Publisher.objects.get(name='Apress')
except Publisher.DoesNotExist:
  print "Apress isn't in the database yet."
else:
  print "Apress is in the database."
Python 相关文章推荐
Python datetime时间格式化去掉前导0
Jul 31 Python
python中enumerate函数用法实例分析
May 20 Python
python深度优先搜索和广度优先搜索
Feb 07 Python
Python实现获取本地及远程图片大小的方法示例
Jul 21 Python
Python中Proxypool库的安装与配置
Oct 19 Python
python模式 工厂模式原理及实例详解
Feb 11 Python
Python导入模块包原理及相关注意事项
Mar 25 Python
Python依赖包迁移到断网环境操作
Jul 13 Python
python基本算法之实现归并排序(Merge sort)
Sep 01 Python
python修改微信和支付宝步数的示例代码
Oct 12 Python
Python eval函数原理及用法解析
Nov 14 Python
pdf论文中python画的图Type 3 fonts字体不兼容的解决方案
Apr 24 Python
Python的Django框架中的数据过滤功能
Jul 17 #Python
在Python的Django框架中更新数据库数据的方法
Jul 17 #Python
在Django框架中运行Python应用全攻略
Jul 17 #Python
Python的Django框架中的数据库配置指南
Jul 17 #Python
浅谈python中截取字符函数strip,lstrip,rstrip
Jul 17 #Python
在Django的视图中使用数据库查询的方法
Jul 16 #Python
详解Python的Django框架中的模版继承
Jul 16 #Python
You might like
PHP+Mysql+jQuery实现动态展示信息
2011/10/08 PHP
细谈php中SQL注入攻击与XSS攻击
2012/06/10 PHP
php求两个目录的相对路径示例(php获取相对路径)
2014/03/27 PHP
对php 判断http还是https,以及获得当前url的方法详解
2019/01/15 PHP
PHPExcel实现的读取多工作表操作示例
2020/04/14 PHP
PHP 自动加载类原理与用法实例分析
2020/04/14 PHP
js wmp操作代码小结(音乐连播功能)
2008/11/08 Javascript
JavaScript 学习历程和心得分享
2010/12/12 Javascript
js实现连续英文字符自动换行兼容ie6 ie7和firefox
2013/09/06 Javascript
js加入收藏以及使用Jquery更改透明度
2014/01/26 Javascript
jQuery Validation Plugin验证插件手动验证
2016/01/26 Javascript
TypeScript入门-基本数据类型
2017/03/28 Javascript
在node中如何使用 ES6
2017/04/22 Javascript
小发现之浅谈location.search与location.hash的问题
2017/06/23 Javascript
Vue之Watcher源码解析(1)
2017/07/19 Javascript
基于JavaScript实现微信抢红包功能
2017/07/20 Javascript
bootstrap modal+gridview实现弹出框效果
2017/08/15 Javascript
vue-cli 目录结构详细讲解总结
2019/01/15 Javascript
JavaScript中this函数使用实例解析
2020/02/21 Javascript
[01:24:09]Ti4 冒泡赛第二轮DK vs C9 1
2014/07/14 DOTA
[03:12]完美世界DOTA2联赛PWL DAY9集锦
2020/11/10 DOTA
利用python库在局域网内传输文件的方法
2018/06/04 Python
softmax及python实现过程解析
2019/09/30 Python
结合OpenCV与TensorFlow进行人脸识别的实现
2019/10/10 Python
Python Numpy数组扩展repeat和tile使用实例解析
2019/12/09 Python
澳大利亚汽车零部件、音响及配件超市:Automotive Superstore
2018/06/19 全球购物
考博自荐信
2013/10/25 职场文书
大学生创业计划书的格式要求
2013/12/29 职场文书
社区志愿者心得体会
2014/01/03 职场文书
反对邪教标语
2014/06/30 职场文书
2014年教师德育工作总结
2014/11/10 职场文书
2014年校务公开工作总结
2014/12/18 职场文书
2015年师德表现自我评价
2015/03/05 职场文书
初中语文教学反思范文
2016/03/03 职场文书
《悲惨世界》:比天空更广阔的是人的心灵
2020/01/16 职场文书
Python爬虫入门案例之爬取去哪儿旅游景点攻略以及可视化分析
2021/10/16 Python