Как я могу предотвратить создание исторической модели при наследовании от абстрактной модели?

У меня есть абстрактная базовая модель, модель, ориентированная на компанию, которая включает в себя отслеживание истории с использованием TenantHistoricalRecords:

class CompanyAwareModel(RequestChangeReasonModelMixin, TenantModel, TimeStampedModel, metaclass=CompanyAwareMeta):

    tenant_id = 'company_id'
    company = models.ForeignKey(Company, on_delete=models.CASCADE)
    history = TenantHistoricalRecords(inherit=True)
    class Meta:
        abstract = True

Чтобы создать вариант этой модели без исторического отслеживания, я определил другую абстрактную модель:

class NoHistoryCompanyAwareModel(CompanyAwareModel):
    history = None

    class Meta:
        abstract = True

Затем я определяю конкретную модель, наследуемую от NoHistoryCompanyAwareModel:

class Counter(NoHistoryCompanyAwareModel):
    ...

Однако, когда я запускаю makemigrations, Django по-прежнему создает историческую модель счетчика, хотя я явно установил history = None в NoHistoryCompanyAwareModel.

Интересно, что если я не определю модель, учитывающую историю компании, без наследования от CompanyAwareModel, вот так:

class NoHistoryCompanyAwareModel(RequestChangeReasonModelMixin, TenantModel, TimeStampedModel, metaclass=CompanyAwareMeta):
    tenant_id = 'company_id'
    company = models.ForeignKey(Company, on_delete=models.CASCADE)

    history = None

    class Meta:
        abstract = True

Тогда makemigrations не создает историческую таблицу для Counter.

Вопрос

Почему наследование от модели, поддерживаемой компанией, по-прежнему создает историческую таблицу, даже если явно задано значение history = None? И как я могу гарантировать, что у счетчика нет модели HistoricalCounter, при этом он все еще наследуется от CompanyAwareModel?

Я ожидаю, что когда я унаследую NoHistoryComapnyAwareModel от CompanyAawreModel и установлю для history значение None, это не создаст historicalCounter для моей модели.

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