Django model-get()方法

首先说一些注意点

  • get()方法是不返回QuerySets的方法
  • 不返回QuerySets的方法,不使用缓存,它们每次被调用都会去查询数据库
  • 语法:get(**kwargs)
  • 功能:返回与给定查找参数匹配的对象。
  • 注意点:填写的参数对象必须是唯一的。例如主键或者唯一约束中的字段。
  • 🌰1
# 查询Entry数据库表中id=1的数据。返回也是返回这个数据的对象
Entry.objects.get(id=1)

Entry.objects.get(blog=blog, entry_number=1)
  • 🌰2:如果希望查询集已经返回1行,可以使用get()不带任何参数的该行的对象
# 先用filter()找到id为1的值,然后再用get()方法获取具体的对象。
# filter是获取一个对象集,get是获取某个具体的对象
Entry.objects.filter(pk=1).get()
  • 如果get()找不到任何对象,会引发Model.DoesNotExist异常
Entry.objects.get(id=-999) # raises Entry.DoesNotExist
  • 如果get()发现多个对象,会引发Model.MultipleObjectsReturned异常
Entry.objects.get(name='A Duplicated Name') # raises Entry.MultipleObjectsReturned
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值