Skip to content

Latest commit

 

History

History
15 lines (7 loc) · 1.39 KB

面试题003.md

File metadata and controls

15 lines (7 loc) · 1.39 KB

面试题003

在Django中,QuerySet的get和filter方法的区别,请从接收参数、返回内容以及异常三个方面来阐述?(回答面试官就回这三方面)

方法 输入参数 返回值 异常
get 严格匹配(输入的参数必须是表里面存在的某个字段,匹配的字段必须是主键和唯一键,保证只有一条数据返回,不重复) 一个定义的model对象(只能返回一条数据) 当返回多条记录或者没有找到记录的时候都会抛出异常
filter 不仅支持严格匹配,还支持模糊匹配(比如like %%站内搜索用的多,in) 返回Queryset查询集(类似列表形式,所以支持列表的一些操作,比如切片索引来获取查询集指定的对象)、支持链式操作(比如经过切片后的数据也是一个查询集,可以对这个查询集进行另外的操作,查询的数据在查询就是链式操作) 不抛异常

filter使用的频率比较高