在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实现爬虫下载漫画示例
Feb 16 Python
python实现批量解析邮件并下载附件
Jun 19 Python
NumPy 数学函数及代数运算的实现代码
Jul 18 Python
win7+Python3.5下scrapy的安装方法
Jul 31 Python
python 3.7.0 下pillow安装方法
Aug 27 Python
Python 3.x基于Xml数据的Http请求方法
Dec 28 Python
python 处理数字,把大于上限的数字置零实现方法
Jan 28 Python
Python字符串中添加、插入特定字符的方法
Sep 10 Python
django数据模型on_delete, db_constraint的使用详解
Dec 24 Python
tensorflow 实现自定义layer并添加到计算图中
Feb 04 Python
Python基于xlrd模块处理合并单元格
Jul 28 Python
python编程的核心知识点总结
Feb 08 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 强制性文件下载功能的函数代码(任意文件格式)
2010/05/26 PHP
php中cookie的使用方法
2014/03/29 PHP
js函数在frame中的相互调用详解
2014/03/03 Javascript
DOM事件阶段以及事件捕获与事件冒泡先后执行顺序(图文详解)
2015/08/18 Javascript
AngularJS延迟加载html template
2016/07/27 Javascript
Yarn的安装与使用详细介绍
2016/10/25 Javascript
VUE 更好的 ajax 上传处理 axios.js实现代码
2017/05/10 Javascript
vue.js框架实现表单排序和分页效果
2017/08/09 Javascript
轻松理解vue的双向数据绑定问题
2017/10/30 Javascript
Vue + better-scroll 实现移动端字母索引导航功能
2018/05/07 Javascript
mpvue将vue项目转换为小程序
2018/09/30 Javascript
Vue.js 中 axios 跨域访问错误问题及解决方法
2018/11/21 Javascript
基于vue开发微信小程序mpvue-docs跳转页面功能
2019/04/10 Javascript
微信小程序实现同一页面取值的方法分析
2019/04/30 Javascript
node基于async/await对mysql进行封装
2019/06/20 Javascript
使用flow来规范javascript的变量类型
2019/09/12 Javascript
Vue登录主页动态背景短视频制作
2019/09/21 Javascript
微信小程序之高德地图多点路线规划过程示例详解
2021/01/18 Javascript
[02:27]DOTA2英雄基础教程 莱恩
2014/01/17 DOTA
[37:35]DOTA2上海特级锦标赛A组资格赛#1 Secret VS MVP.Phx第二局
2016/02/25 DOTA
Python中的文件和目录操作实现代码
2011/03/13 Python
浅析Python中signal包的使用
2015/11/13 Python
python+django+rest框架配置创建方法
2019/08/31 Python
python代码xml转txt实例
2020/03/10 Python
keras Lambda自定义层实现数据的切片方式,Lambda传参数
2020/06/11 Python
浅谈Python描述数据结构之KMP篇
2020/09/06 Python
python 实时调取摄像头的示例代码
2020/11/25 Python
CSS3的颜色渐变效果的示例代码
2017/09/29 HTML / CSS
利用CSS3实现文字折纸效果实例代码
2018/07/10 HTML / CSS
关于前端上传文件全面基础扫盲贴(入门)
2019/08/01 HTML / CSS
日本高端护肤品牌:Tatcha
2016/08/29 全球购物
SQL Server 2000数据库的文件有哪些,分别进行描述
2013/03/30 面试题
化妆师职业生涯规划书
2014/02/16 职场文书
时尚女魔头观后感
2015/06/04 职场文书
研讨会致辞
2015/07/31 职场文书
拔河比赛队名及霸气口号
2015/12/24 职场文书