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')
, которое является значением родительского поля для этого поля. Создается впечатление, что дочерний класс не может переопределить это свойство. Почему это происходит?