Как я могу переопределить метод update () модели django внутри собственного менеджера?
Я хотел бы изменить поведение некоторых методов (all (), update (), filter ())модели Django, и я попытался переопределить, используя то, что предлагает мой код здесь, но ничего не происходит.Я попытался использовать QuerySet вместо наследования от Manager , но мне не удалось переопределить его должным образом, поскольку я получаю пустые результаты по всей системе.
class undeletedObjectManager(models.Manager):
def get_queryset(self):
return super(undeletedObjectManager, self).get_queryset().filter(deleted=False)
def update(self, *args, **kwargs):
if "deleted" in args:
# some logic here
super().update(*args, **kwargs)
class Transaction(models.Model):
author = models.ForeignKey(Branch, null=True)
objects = undeletedObjectManager()
def __str__(self):
return 'Tr. by {}'.format(self.author.name)
метод update () не достигнут, и я предполагаю, что это потому, что я не переопределяю правильный член.Есть ли конкретное имя метода?в обоих классах Manager и QuerySet?Как мне их переопределить?