У меня есть абстрактный класс mixin, который добавляет поле модели Django к любому конкретному классу, который наследует его.
При инициализации класса - когда запускается makemigrations
- я бы хотел, чтобы наследующий класс определилявляется ли унаследованное поле обязательным или необязательным с помощью свойства blank=
True
или False
.
Я пробовал различные Meta
и __new__
подходы, но не могу понять, какабстрактный класс mixin может получить информацию от наследующего класса.
Вот наивная попытка:
from django.db import models
class DescriptionMixin(models.Model):
class Meta:
abstract = True
description = models.TetxField(
# how to get value here?
blank=inheriting_class.description_required
)
class OptionalDescription(DescriptionMixin, SomeOtherClass):
class Meta:
verbose_name = 'Optional description'
description_required = False
class RequiredDescription(DescriptionMixin, SomeOtherClass):
class Meta:
verbose_name = 'Required description'
description_required = True
Заранее благодарим за любую предложенную помощь.