我有一个对 Django 模型实例执行操作的函数,我试图将它分解为可以独立使用的子操作。但是,这意味着我最终会调用.save每个更改并触发数据库请求。
def subop1(instance):
instance.a1 = 1
instance.save()
def subop1(instance):
instance.a2 = 2
instance.save()
def subop1(instance):
instance.a3 = 3
instance.save()
def main_op(instance):
subop1(instance) # triggers 1 DB request
subop2(instance) # triggers 1 DB request
subop3(instance) # triggers 1 DB request
有什么方法可以避免.save每次都触发数据库请求,同时仍然保持每个功能独立运行?也许某种方式将.save操作推迟到某个上下文管理器退出,然后使用 1 个 DB 请求一次性保存所有操作。
试图通读transaction文档,但我没有找到任何合适的内容。
潇湘沐
蝴蝶刀刀
慕仙森
相关分类