在Python的Django框架中获取单个对象数据的简单方法

yipeiwu_com6年前Python基础

相对列表来说,有些时候我们更需要获取单个的对象, `` 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遍历文件夹和读写文件的实现代码

需 求 分 析 1、读取指定目录下的所有文件 2、读取指定文件,输出文件内容 3、创建一个文件并保存到指定目录 实 现 过 程   Python写代码简洁高效,实现以上功能仅用了40行...

python3实现弹弹球小游戏

python3实现弹弹球小游戏

本文实例为大家分享了python3实现弹弹球小游戏的具体代码,供大家参考,具体内容如下 from tkinter import * from tkinter import messa...

Python中字符串对齐方法介绍

目的   实现字符串的左对齐,右对齐,居中对齐。 方法   字符串内置了以下方法:其中width是指包含字符串S在内的宽度,fillchar默认是空格,也可以指定填充字符 复制代码...

python给指定csv表格中的联系人群发邮件(带附件的邮件)

以下为使用python给指定路径的csv表格中的联系人群发带附件的邮件(csv表格的第一列为联系人姓名,第二列为联系人邮箱账号)的代码,详情见注释。 import time impo...

Python实现的求解最小公倍数算法示例

本文实例讲述了Python实现的求解最小公倍数算法。分享给大家供大家参考,具体如下: 简单分析了一下,前面介绍的最大公约数的求解方法跟最小公倍数求解方法类似,只需要改一个简单的条件,然后...