摘要: 首先先总结一下aggregate() 和 annotate()的区别: aggregate()为所有的QuerySet生成一个汇总值,相当于Count().返回结果类型为Dict annotate()为每一个QuerySet在指定属性上生成汇总值,相当于Group BY,返回结果类型QuerySet 阅读全文
posted @ 2019-07-02 14:48 wy0925 阅读(316) 评论(0) 推荐(0)
摘要: defer('id', 'name'):取出对象,字段除了id和name都有 only('id', 'name'):取出对象, 只有id和name 阅读全文
posted @ 2019-07-02 10:08 wy0925 阅读(457) 评论(0) 推荐(0)
摘要: 对于多对多字段(ManyToManyField)和一对多字段, 可以使用prefetch_related()来进行优化 prefetch_related()和select_related()的设计目的很相似,都是为了减少SQL查询的数量,但是实现的方式不一样。后者是通过JOIN语句,在SQL查询内解 阅读全文
posted @ 2019-07-02 09:59 wy0925 阅读(2062) 评论(1) 推荐(1)
摘要: 参考链接: https://blog.csdn.net/secretx/article/details/43964607 在数据库有外键的时候,使用select_related()和prefech_related()可以很好地减少数据库请求的次数, 从而提高性能 假定一个个人信息系统,需要记录系统中 阅读全文
posted @ 2019-07-02 09:53 wy0925 阅读(3575) 评论(0) 推荐(0)