Django комбинирует несколько менеджеров из унаследованных классов
У меня есть модель, которая наследуется от 2 абстрактных классов с переопределенными менеджерами:
class ManagerA(models.Manager):
def get_queryset(self):
return super().get_queryset().filter(attrA="A")
class A(models.Model):
objects = ManagerA()
class Meta:
abstract = True
class ManagerB(models.Manager):
def get_queryset(self):
return super().get_queryset().filter(attrB="B")
class B(models.Model):
objects = ManagerB()
class Meta:
abstract = True
class Main(A, B):
pass
Как переопределить менеджер в классе Main, чтобы он объединял оба фильтра из ManagerA
и ManagerB
? Я хочу иметь что-то вроде:
Main.objects.all() -> works like Main.objects.filter(attrA="A", attrB="B")