我想通过实质上强迫django中的每个对象调用update()
来“禁用” save
方法。我该怎么做?目前我有:
class HandleQuerySet(QuerySet):
def update(self, *args, **kwargs):
for x in self:
x.save()
但是,这似乎并没有将args传递给save方法-因为它没有保存任何内容。我该怎么做呢?
答案 0 :(得分:1)
是否要更新传入的字段?您将需要使用通过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()