在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 相关文章推荐
Python3基础之list列表实例解析
Aug 13 Python
python在Windows8下获取本机ip地址的方法
Mar 14 Python
Python脚本判断 Linux 是否运行在虚拟机上
Apr 25 Python
Python实现复杂对象转JSON的方法示例
Jun 22 Python
对Python中gensim库word2vec的使用详解
May 08 Python
解决django前后端分离csrf验证的问题
Feb 03 Python
使用Python检测文章抄袭及去重算法原理解析
Jun 14 Python
python networkx 包绘制复杂网络关系图的实现
Jul 10 Python
在pytorch 中计算精度、回归率、F1 score等指标的实例
Jan 18 Python
解决Keras自带数据集与预训练model下载太慢问题
Jun 12 Python
python不同版本的_new_不同点总结
Dec 09 Python
pycharm最新激活码有效期至2100年(亲测可用)
Feb 05 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
VML绘图板②脚本--VMLgraph.js、XMLtool.js
2006/10/09 PHP
Zend的MVC机制使用分析(二)
2013/05/02 PHP
js获取图片长和宽度的代码
2009/11/24 Javascript
JS自动缩小超出大小的图片
2012/10/12 Javascript
jquery鼠标滑过提示title具体实现代码
2013/08/06 Javascript
jQuery父级以及同级元素查找介绍
2013/09/04 Javascript
js对table的td进行相同内容合并示例详解
2013/12/27 Javascript
JavaScript函数的4种调用方法详解
2014/04/22 Javascript
js在数组中删除重复的元素自保留一个(两种实现思路)
2014/08/22 Javascript
轻松学习jQuery插件EasyUI EasyUI实现拖动基本操作
2015/11/30 Javascript
JavaScript中rem布局在react中的应用
2015/12/09 Javascript
JS实现对中文字符串进行utf-8的Base64编码的方法(使其与Java编码相同)
2016/06/21 Javascript
Bootstrap Table使用方法详解
2016/08/01 Javascript
JS编写函数实现对身份证号码最后一位的验证功能
2016/12/29 Javascript
js实现淡入淡出轮播切换功能
2017/01/13 Javascript
JavaScript表单即时验证 验证不成功不能提交
2017/08/31 Javascript
微信小程序实现上传图片裁剪图片过程解析
2019/08/22 Javascript
javascript 关于赋值、浅拷贝、深拷贝的个人理解
2019/11/01 Javascript
[01:27]DOTA2电竞之夜 今夜共饮庆功酒
2014/08/02 DOTA
Python多线程下载文件的方法
2015/07/10 Python
Python实现的多进程拷贝文件并显示百分比功能示例
2019/04/09 Python
Python控制台输出时刷新当前行内容而不是输出新行的实现
2020/02/21 Python
python字典key不能是可以是啥类型
2020/08/04 Python
解决import tensorflow导致jupyter内核死亡的问题
2021/02/06 Python
如何用 Python 制作 GitHub 消息助手
2021/02/20 Python
如果有两个类A,B,怎么样才能使A在发生一个事件的时候通知B
2016/03/12 面试题
建筑专业自我鉴定
2013/10/22 职场文书
电子信息科学专业自荐信
2014/01/30 职场文书
辅导员评语
2014/05/04 职场文书
国庆65周年演讲稿:回首往昔,展望未来
2014/09/21 职场文书
服务明星事迹材料
2014/12/29 职场文书
先进人物事迹材料
2014/12/29 职场文书
银行反洗钱宣传活动总结
2015/05/08 职场文书
2015年宣传部个人工作总结
2015/05/14 职场文书
2016抗战胜利71周年红领巾广播稿
2015/12/18 职场文书
Pytorch 如何实现LSTM时间序列预测
2021/05/17 Python