Изменение списка вариантов в дочерней модели Django
У меня есть модель, которая наследуется от другой модели и имеет поле с выбором. Могу ли я как-то изменить параметры выбора или добавить новый элемент к выбору на уровне наследуемой модели?
class ModelA(PolymorphicModel):
choice1 = "choice1"
choice2 = "choice2"
CHOICES = (
(choice1, "Choice 1"),
(choice2, "Choice 2"),
)
method = models.CharField(max_length=30, choices=CHOICES)
class ModelB(ModelA):
# In this model, I have to exclusively add `choice3` to choices.
Определите константу выбора вне вашего класса и затем используйте константу соответствующим образом, например :-
choice1 = "choice1"
choice2 = "choice2"
CHOICES = (
(choice1, "Choice 1"),
(choice2, "Choice 2"),
)
class ModelA(PolymorphicModel):
method = models.CharField(max_length=30, choices=CHOICES)
class ModelB(ModelA)
choice3 = "choice3"
CHOICES + = ((choice3, "Choice 3"),)
method = models.CharField(max_length=30, choices=CHOICES)