在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 实现文件的递归拷贝实现代码
Aug 02 Python
python实现将pvr格式转换成pvr.ccz的方法
Apr 28 Python
用Python编写web API的教程
Apr 30 Python
Python使用smtplib模块发送电子邮件的流程详解
Jun 27 Python
通过python+selenium3实现浏览器刷简书文章阅读量
Dec 26 Python
解决Pycharm中import时无法识别自己写的程序方法
May 18 Python
详解pyqt5的UI中嵌入matplotlib图形并实时刷新(挖坑和填坑)
Aug 07 Python
Python jieba结巴分词原理及用法解析
Nov 05 Python
Python WebSocket长连接心跳与短连接的示例
Nov 24 Python
详解Django的MVT设计模式
Apr 29 Python
浅谈Python中的正则表达式
Jun 28 Python
python神经网络 tf.name_scope 和 tf.variable_scope 的区别
May 04 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
剧场版动画《PSYCHO-PASS 3 FIRST INSPECTOR》3月27日日本上映!
2020/03/06 日漫
解析php利用正则表达式解决采集内容排版的问题
2013/06/20 PHP
php写入数据到CSV文件的方法
2015/03/14 PHP
PHP curl使用实例
2015/07/02 PHP
AJAX 网页保留浏览器前进后退等功能
2011/02/12 Javascript
js判断浏览器类型的方法
2013/08/07 Javascript
JQuery插件iScroll实现下拉刷新,滚动翻页特效
2014/06/22 Javascript
JavaScript中的Repaint和Reflow用法详解
2015/07/27 Javascript
AngularJS仿苹果滑屏删除控件
2016/01/18 Javascript
详解Js模板引擎(TrimPath)
2016/11/22 Javascript
AngularJS Controller作用域
2017/01/09 Javascript
原生Javascript插件开发实践
2017/01/18 Javascript
详解Layer弹出层样式
2017/08/21 Javascript
Vuex实现计数器以及列表展示效果
2018/03/10 Javascript
vue加载自定义的js文件方法
2018/03/13 Javascript
JavaScript判断浏览器版本的方法
2019/11/03 Javascript
JavaScript构造函数原理及实现流程解析
2020/11/19 Javascript
python 定时器,轮询定时器的实例
2019/02/20 Python
利用python Selenium实现自动登陆京东签到领金币功能
2019/10/31 Python
Python pickle模块常用方法代码实例
2020/10/10 Python
在python3.9下如何安装scrapy的方法
2021/02/03 Python
跑步爱好者一站式服务网站:Jack Rabbit
2016/09/01 全球购物
Ever New加拿大官网:彰显女性美
2018/10/05 全球购物
奥地利度假券的专家:we-are.travel
2019/04/10 全球购物
Arti-shopping中文官网:大型海外商品一站式直邮平台
2020/03/23 全球购物
我的老师教学反思
2014/05/01 职场文书
校庆活动策划方案
2014/06/05 职场文书
文明城市标语
2014/06/16 职场文书
青岛导游词
2015/02/12 职场文书
2015年药店店长工作总结
2015/04/29 职场文书
2016年十一促销广告语
2016/01/28 职场文书
端午节将至,用Python爬取粽子数据并可视化,看看网友喜欢哪种粽子吧!
2021/06/11 Python
总结Python使用过程中的bug
2021/06/18 Python
MySQL连接控制插件介绍
2021/09/25 MySQL
python_tkinter事件类型详情
2022/03/20 Python
golang定时器
2022/04/14 Golang