Django SoftDelete Наследование моделей и менеджеров моделей

у меня есть модель мягкого удаления BasicModel и модель пользователя Paddy. модель пользователя objects не наследует менеджер объектов BasicModel от модели пользователя

core приложения models.py

class BasicModelQuerySet(models.QuerySet):
    def delete(self):
        return self.update(is_deleted = True, deleted_at = timezone.now())

    def erase(self):
        return super().delete()


class BasicModelManager(models.Manager):
    def get_queryset(self):
        return BasicModelQuerySet(self.model, self._db).filter(is_deleted = False)

# Base Application Model
class BasicModel(models.Model):
    """
    Base application model to add default fields to models
    without having to write repeated code.
    """

    deleted_at = models.DateTimeField(blank = True, null = True,)
    is_deleted = models.BooleanField(default = False,)

    objects = BasicModelManager()

    class Meta:
        abstract = True

    # extras ...

accounts приложения models.py

class PaddyManager(BaseUserManager):
    def create_user(self, first_name, last_name, email, password, **extra_fields):
        # user creation ... skipping code
        pass

    def create_superuser(self, first_name, last_name, email, password, **extra_fields):
        # super user creation ... skipping code
        pass

# BasicModel from core.models.py
class Paddy(BasicModel, AbstractUser):
    # model fields

    objects = PaddyManger() <-- HOW TO MAKE THIS USE BasicModel's Model Managers AND STILL USE CREATE_USER / CREATE_SUPERUSER METHODS OF PaddyManager()

    #extras

Моя проблема заключается в том, как мне заставить модель пользователя возвращать только не удаленные объекты, когда я вызываю User.objects.all() и при этом иметь возможность вызывать методы create_user или create_superuser из PaddyManager?

Вернуться на верх