DRF: Подсказка динамического литерального типа для models.TextChoices
Данная модель
from django.db import models
class Olympian(models.Model):
MedalType = models.TextChoices('MedalType', 'GOLD SILVER BRONZE')
medal = models.CharField(max_length=6, choices=MedalType.choices, default=MedalType.GOLD)
и эта функция, которая принимает CharField
в качестве параметра
fn_with_type_hint(olympian.medal)
Как я могу напечатать параметр более строго, без жесткого кодирования, как сейчас?
def fn_with_type_hint(medal: Literal['Gold', 'Silver', 'Bronze']):
pass
Что я пробовал
Я пробовал Olympian.medal
, но это просто строка
medal: Olympian.medal
Я также пробовал вариации этого безрезультатно
medal: Literal[*Olympian.MedalType.values]
Я также не могу использовать это решение, потому что я не начинаю со списка строк
https://stackoverflow.com/a/64522240/8479344