Django - Перезапись метаданных родительской модели

Я использую пакет django-polymorphic-tree внутри приложения Django.

Абстрактная модель PolymorphicMPTTModel из указанного пакета имеет следующую Мета:

class PolymorphicMPTTModel(MPTTModel, PolymorphicModel, metaclass=PolymorphicMPTTModelBase):
    """
    The base class for all nodes; a mapping of an URL to content (e.g. a HTML page, text file, blog, etc..)
    """

    # ... fields

    class Meta:
        abstract = True
        ordering = (
            "tree_id",
            "lft",
        )
        base_manager_name = "objects"

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

class MyNodeModel(PolymorphicMPTTModel):
    parent = PolymorphicTreeForeignKey(
        "self",
        blank=True,
        null=True,
        related_name="children",
        on_delete=models.CASCADE,
    )
    # ... fields

    class Meta:
        ordering = (
            "tree_id",
            "-lft",
        )

Как вы видите, я пытаюсь перезаписать атрибут родителя Meta.ordering.

Однако, если я сделаю это внутри экземпляра MyNodeModel:

print(self.Meta.ordering)

печатается:

('tree_id', 'lft')

, которое является значением родительского поля для этого поля. Создается впечатление, что дочерний класс не может переопределить это свойство. Почему это происходит?

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