1、get:
- 输入参数:get的参数只能是model中定义的哪些字段,只支持严格匹配。
- Entry.objects.get(id=‘foo’) # raises Entry.DoesNotExist.
- 返回参数:get 返回值是一个定义的model对象,只有一条记录返回的时候才正常,也就说明get的查询字段必须是主键或者唯一约束的字段。当返回多条记录或者是没有找到记录的时候都会抛出异常.
2、filter
- 输入参数:filter的参数可以是字段也可以是扩展的where查询关键字,如in,like,返回QuerySet包含与给定查找参数匹配的新对象。
- 返回参数:filter返回QuerySet对象(查询结果集对象 。QuerySet是指从数据库中查询出来的结果,一般都是集合),有没有匹配的记录都可以。
- filter有缓存数据的功能,第一次查询数据库并生成缓存,下次再调用filter方法的话,直接取得缓存的数据,get方法每次执行都是直接查询数据库的。