在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动态参数用法实例分析
May 25 Python
详解Python 实现元胞自动机中的生命游戏(Game of life)
Jan 27 Python
windows下cx_Freeze生成Python可执行程序的详细步骤
Oct 09 Python
python将类似json的数据存储到MySQL中的实例
Jul 12 Python
Python 日志logging模块用法简单示例
Oct 18 Python
Python实现直播推流效果
Nov 26 Python
Python3.7基于hashlib和Crypto实现加签验签功能(实例代码)
Dec 04 Python
python单例设计模式实现解析
Jan 07 Python
python进行参数传递的方法
May 12 Python
Python实现王者荣耀自动刷金币的完整步骤
Jan 22 Python
对PyTorch中inplace字段的全面理解
May 22 Python
Python采集爬取京东商品信息和评论并存入MySQL
Apr 12 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中全面阻止SQL注入式攻击分析小结
2012/01/30 PHP
Laravel 4 初级教程之视图、命名空间、路由
2014/10/30 PHP
seajs1.3.0源码解析之module依赖有序加载
2012/11/07 Javascript
如何用ajax来创建一个XMLHttpRequest对象
2012/12/10 Javascript
鼠标移到div,浮层显示明细,弹出层与div的上边距左边距重合(示例代码)
2013/12/14 Javascript
javascript自定义右键弹出菜单实现方法
2015/05/25 Javascript
JavaScript对Cookie进行读写操作实例
2015/07/25 Javascript
javaScript实现滚动新闻的方法
2015/07/30 Javascript
数据分析软件之FineReport教程:[5]参数界面JS(全)
2015/08/13 Javascript
JS实现DIV容器赋值的方法
2015/12/14 Javascript
将html页面保存成图片,图片写入pdf的实现方法(推荐)
2016/09/17 Javascript
nodejs使用express创建一个简单web应用
2017/03/31 NodeJs
React学习笔记之事件处理(二)
2017/07/02 Javascript
axios post提交formdata的实例
2018/03/16 Javascript
基于Node.js搭建hexo博客过程详解
2019/06/25 Javascript
微信小程序 高德地图路线规划实现过程详解
2019/08/05 Javascript
javascript实现移动端红包雨页面
2020/06/23 Javascript
vue 解决在微信内置浏览器中调用支付宝支付的情况
2020/11/09 Javascript
python聊天程序实例代码分享
2013/11/18 Python
在Python中操作日期和时间之gmtime()方法的使用
2015/05/22 Python
解决PyCharm的Python.exe已经停止工作的问题
2018/11/29 Python
python根据url地址下载小文件的实例
2018/12/18 Python
python enumerate内置函数用法总结
2020/01/07 Python
Python+OpenCV实现图像的全景拼接
2020/03/05 Python
详解selenium + chromedriver 被反爬的解决方法
2020/10/28 Python
耐克巴西官方网站:Nike巴西
2016/08/14 全球购物
EJB的基本架构
2016/09/22 面试题
一百多行代码实现react拖拽hooks
2021/03/23 Javascript
内科护士实习自我鉴定
2013/10/17 职场文书
毕业生自我鉴定实例
2014/01/21 职场文书
租房协议书范本
2014/04/09 职场文书
培训讲师岗位职责
2014/04/13 职场文书
2014年教师党员公开承诺书
2014/05/28 职场文书
少先队活动总结
2014/08/29 职场文书
2016年妇联“6﹒26国际禁毒日”宣传活动总结
2016/04/05 职场文书
开发者首先否认《遗弃》被取消的传言
2022/04/11 其他游戏