в джанговской модели есть choices, они выглядят примерно так:
ACTIONS = (
(‘0’, ‘user-friendly description’),
(‘1’, ‘user-friendly description’)
…
)
я хочу аннотировать, что позволяется стринг, но только из первых значений в каждом тюпле (то есть ‘0’, ‘1’,…)
Единственное, что приходит в голову - allowed_actions = [a[0] for a in ACTIONS]
Но в документации прочитал, что так нельзя делать:
Literal types may contain one or more literal bools, ints, strs, bytes, and enum values. However, literal types cannot contain arbitrary expressions: types like Literal[my_string.trim()], Literal[x > 3], or Literal[3j + 4] are all illegal.
можно ли это как-то сделать что бы вручную не переписывать все значения?
Они в миграции должны попасть в любом случае, гененрируй их с инициализацией класса модели
Если не получится с инициализацией, делай просто маппинг и интовое поле
Обсуждают сегодня