跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • 请教关于 django 的 orm 语句同时修改多条数据以及 flush 操作
未分類
14 4 月 2020

请教关于 django 的 orm 语句同时修改多条数据以及 flush 操作

请教关于 django 的 orm 语句同时修改多条数据以及 flush 操作

資深大佬 : kayseen 20

tips: django 使用的 mysql, 以往用的是 flask 的 sqlalchemy, 比如同时修改了两个不同表的两条数据 user1 的 name=1,class2 的 name=class2,(两条数据没有关联关系), 我可以 model.add(user1),model.add(class2),最后 model.commit()一次性提交,

但是在 django 的 orm 中, 如果有上述的场景, 一次性提交两条修改的数据(开事物?),该怎么实现呢?

找到了 django 的批量创建 bulk_update(), 但是此方法只支持批量更新同张表的多条数据,并且需要指定 fields

问题: 1.批量修改多张表的多条数据怎么一次性提交保存? 2.django 有没有在提交数据之前的 flush 操作(在创建新数据的时候,flush 操作可以获取新数据的 id,但是此时数据并没有保存到 mysql 中)

大佬有話說 (5)

  • 資深大佬 : chen774553620

    from django.db import transaction
    with transaction.atomic:

  • 主 資深大佬 : kayseen

    @chen774553620
    了解, 真棒~

  • 資深大佬 : Vegetable

    https://docs.djangoproject.com/zh-hans/2.2/topics/db/transactions/#why-django-uses-autocommit
    中文文档他不香吗

  • 主 資深大佬 : kayseen

    @Vegetable
    这个东西看过啦哈哈, 请问您知道关于 django 的 flush 操作吗?

  • 資深大佬 : EricCartmann

    一已经终结这个问题。transaction 模块完美解决,加上 with transaction.atomic()还可以提供事务的特性

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具