在Python的Django框架中获取单个对象数据的简单方法
2015-07-17 00:00
866 查看
相对列表来说,有些时候我们更需要获取单个的对象, `` 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的Django框架下管理站点的基本方法
- Python的Django框架中设置日期和字段可选的方法
- Python实现SVN的目录周期性备份实例
- Python中max函数用法实例分析
- Python的Django框架中的表单处理示例
- 在Python的Django框架中加载模版的方法
- [Python]django使用多进程连接msyql错误
- [Python]django使用多进程连接msyql错误
- python serial安装模块
- Python学习之始
- python中strip,lstrip,rstrip简介
- python实现单例模式
- Python迭代器和生成器
- Python + Selenium 环境搭建
- python with原型
- python 使用mechanize进行web网页交互
- python yaml使用
- Seven Python Tools All Data Scientists Should Know How to Use
- Python3 支持 MySQL
- 计算4000000000内的最大f(n)=n值---字符串的问题python实现(五岁以下儿童)