首页 > 编程 > Python > 正文

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

2020-01-04 18:03:11
字体:
来源:转载
供稿:网友

这篇文章主要介绍了在Python的Django框架中获取单个对象数据的简单方法,Django为数据的操作提供了诸多方便的功能,需要的朋友可以参考下

相对列表来说,有些时候我们更需要获取单个的对象, `` get()`` 方法就是在此时使用的:

 

 
  1. >>> Publisher.objects.get(name="Apress"
  2. <Publisher: Apress> 

这样,就返回了单个对象,而不是列表(更准确的说,QuerySet)。 所以,如果结果是多个对象,会导致抛出异常:

 

 
  1. >>> Publisher.objects.get(country="U.S.A."
  2. Traceback (most recent call last): 
  3. ... 
  4. MultipleObjectsReturned: get() returned more than one Publisher -- 
  5. it returned 2! Lookup parameters were {'country''U.S.A.'

如果查询没有返回结果也会抛出异常:

 

 
  1. >>> Publisher.objects.get(name="Penguin"
  2. Traceback (most recent call last): 
  3. ... 
  4. DoesNotExist: Publisher matching query does not exist. 

这个 DoesNotExist 异常 是 Publisher 这个 model 类的一个属性,即 Publisher.DoesNotExist。在你的应用中,你可以捕获并处理这个异常,像这样:

 

 
  1. try
  2. p = Publisher.objects.get(name='Apress'
  3. except Publisher.DoesNotExist: 
  4. print "Apress isn't in the database yet." 
  5. else
  6. print "Apress is in the database." 
 

 


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表