首页 > 其他 > 详细

Django中get和filter区别

时间:2019-11-24 23:54:19      阅读:155      评论:0      收藏:0      [点我收藏+]

get和filter()的区别。

1、get

输入参数:get的参数只能是model中定义的哪些字段,只支持严格匹配。

Entry.objects.get(id=‘foo‘) # raises Entry.DoesNotExist

返回参数:get 返回值是一个定义的model对象,只有一条记录返回的时候才正常,也就说明get的查询字段必须是主键或者唯一约束的字段。当返回多条记录或者是没有找到记录的时候都会抛出异常

 

2、filter

输入参数:filter的参数可以是字段也可以是扩展的where查询关键字,如in,like,返回QuerySet包含与给定查找参数匹配的新对象。

返回参数:filter返回QuerySet对象,有没有匹配的记录都可以。

filter有缓存数据的功能,第一次查询数据库并生成缓存,下次再调用filter方法的话,直接取得缓存的数据,get方法每次执行都是直接查询数据库的。

Django中get和filter区别

原文:https://www.cnblogs.com/gentlemanhai/p/11924931.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!