覆盖查询集的更新方法 - Django

ash*_*ish 3 django django-models django-managers

我们如何在django中更改查询集的更新方法的默认过程,因为它不为每个对象调用save方法.因为我已经覆盖了save方法,所以每次更改对象时都需要调用它.我找了django doc,但这只是为了get_query_set,更新方法也有类似的东西.

谢谢

ash*_*ish 9

这对我有用


class MyQuerySet(models.query.QuerySet):
    def update(self, *args, **kwargs):
        # here queryset update method overridden
        pass

class NewManager(models.Manager):
    def get_queryset(self):
        # this is to use your custom queryset methods
        return MyQuerySet(self.model, using=self._db)

class MyModel(models.Model):
    objects = NewManager()
    myfield = models.SomeTypeOfField(**kwargs)
Run Code Online (Sandbox Code Playgroud)