091:QuerySet API详解-update和delete
Posted zheng-weimin
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了091:QuerySet API详解-update和delete相关的知识,希望对你有一定的参考价值。
QuerySet API详解-update和delete:
update :执行更新操作,在 SQL 底层走的也是 update 命令。比如要将所有 图书的价格提高五元。示例代码如下:
Book.objects.update(price=F("price") + 5) # 对比一下上下两种方式 # books = Book.objects.all() # for item in books: # item.price += 5 # item.save()
注意这个方法走的是更新的逻辑。所以更新完成后保存到数据库中不会执行 save 方法,因此不会更新 auto_now 设置的字段。
delete :删除所有满足条件的数据。删除数据的时候,要注意 on_delete 指定的处理方式(是否是级联删除——实际中是一个flag标记)。
# 慎用啊 Author.objects.filter(name="罗贯中").delete()
实例截图:
以上是关于091:QuerySet API详解-update和delete的主要内容,如果未能解决你的问题,请参考以下文章
079:Django数据库QuerySet API详解-filterexcludeannotate