摘要:
QuerySet API详解-update和delete: update :执行更新操作,在 SQL 底层走的也是 update 命令。比如要将所有 图书的价格提高五元。示例代码如下: 注意这个方法走的是更新的逻辑。所以更新完成后保存到数据库中不会执行 save 方法,因此不会更新 auto_now 阅读全文
摘要:
QuerySet API详解-distinct: distinct :去除掉那些重复的数据。这个方法如果底层数据库用的是 MySQL ,那么不能传递任何的参数。比如想要提取所有销售的价格超过80元的图书,并且删掉那些重复的,那么可以使用 distinct 来帮我们实现,示例代码如下: 需要注意的是, 阅读全文
摘要:
QuerySet API详解-count和exists: count :获取提取的数据的个数。如果想要知道总共有多少条数据,那么建议使用 count ,而不是使用 len(articles) 这种。因为 count 在底层是使用 select count(*) 来实现的,这种方式比使用 len 函数 阅读全文
摘要:
QuerySet API详解-get、create、get_or_create和bulk_create方法: create :创建一条数据,并且保存到数据库中。这个方法相当于先用指定的模型创建一个对象,然后再调用这个对象的 save 方法。示例代码如下: get_or_create :根据某个条件进 阅读全文
摘要:
QuerySet API详解-defer和only: defer :在一些表中,可能存在很多的字段,但是一些字段的数据量可能是比较庞大的,而此时你又不需要,比如我们在获取文章列表的时候,文章的内容我们是不需要的,因此这时候我们就可以使用 defer 来过滤掉一些字段。这个字段跟 values 有点类 阅读全文
摘要:
QuerySet API详解prefetch_related方法: prefetch_related :这个方法和 select_related 非常的类似,就是在访问多个表中的数据的时候,减少查询的次数。这个方法是为了解决 多对一 和 多对多 的关系的查询问题。比如要获取标题中带有 hello 字 阅读全文