Изменение списка вариантов в дочерней модели 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)
Вернуться на верх