问题
How can we change the default process of update method for a queryset in django as it does not call save method for each object. And since i have overridden the save method, i need it to be called each time the object is changed.
I looked for django doc but this is just for get_query_set
, Is there is something similar for update method also.
Thanks
回答1:
This worked for me
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)
来源:https://stackoverflow.com/questions/12818495/override-update-method-for-a-queryset-django