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()

实例截图:

猜你喜欢

转载自www.cnblogs.com/zheng-weimin/p/10285369.html
今日推荐