django查询进阶接口
1.defer接口 例子:posts = Post.objects.all().defer('content'),拿到的记录中不会包含content 部分, 但是当我们需要用到这个字段时, 在使用时会去加载. 把不需要展示的字段延迟加载.
当不想加载某个过大的字段时(如text类型的字段),会使用defer.
2.only接口 同defer接口刚好相反,如果只想获取所有的title记录,就可以使用only, 只获取titile的内容,其他值在获取时会产生额外的查询.
3.select_related接口. 这个接口用来解决一对多的关联关系. 例如 post = Post.objects.all().select_related('category')
4.prefetch_related接口. 针对多对多关系数据,可以通过这个接口避免N+1查询. 使用同上