如何在更新中调用django save方法

时间:2019-05-14 20:08:24

标签: python django

我想通过实质上强迫django中的每个对象调用update()来“禁用” save方法。我该怎么做?目前我有:

  class HandleQuerySet(QuerySet):
      def update(self, *args, **kwargs):
          for x in self:
              x.save()

但是,这似乎并没有将args传递给save方法-因为它没有保存任何内容。我该怎么做呢?

1 个答案:

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