python - 如何在更新时调用 django save 方法
问题描述
我想update()
通过本质上强制它save
在django中的每个对象上调用一个方法来“禁用”一个方法。我该怎么做?目前我有:
class HandleQuerySet(QuerySet):
def update(self, *args, **kwargs):
for x in self:
x.save()
但这似乎没有将 args 传递给 save 方法——就像它没有保存任何东西一样。我将如何正确地做到这一点?
解决方案
是否要更新传入的字段?您需要x
使用作为kwargs
. 一种方法是借助以下方法setattr
:
class HandleQuerySet(QuerySet):
def update(self, *args, **kwargs):
for x in self:
for k, v in kwargs.items():
setattr(x, k, v)
x.save()
推荐阅读
- android - MediaPlayer:无法打开文件 java.io.FileNotFoundException:没有内容提供者:
- javascript - 如何调用从不同文件返回承诺的函数
- javascript - JavaScript const 和 let 作用域语法有效性
- css - 像素艺术的 CSS box-shadow 或普通图像文件?
- c# - 实体指定关系
- ios - Swift iOS:将视频保存到库
- javascript - 使用 javascript for 循环在 TD 内创建跨度
- javascript - 如何将 TWA 的 javascript 代码绑定到本机函数?
- json - 如何以我需要的形式获取数据?
- android - 在 Chrome 操作系统上,键盘配置始终返回 QWERTY