Пользовательский ввод и выбор текста также в модели django

В модели django пользовательский ввод и текстовые варианты заполняются именем поля.

class Store(models.Model):
   class Size(model.TextChoices):
        MEDIUM = "M", "Medium"
        LARGE = "L","Large"
   shirt_size = models.CharField("Shirt Size", choices=Size.choices, default=Size.MEDIUM)

Когда django запускается с администратором для добавления записей в таблицу, он показывает выпадающий список для выбора размера, который доступен, и в то же время, я хочу иметь пользовательское заполнение также для ввода пользователем (S, XXL, и т.д.)

Вот как я обычно это делаю:

class Store(models.Model):
    MEDIUM = 'M'
    LARGE = 'L'
    SIZE_CHOICES = (
        (MEDIUM, 'Medium'),
        (LARGE, 'Large')
    )
    shirt_size = models.CharField(max_length=20, help_text="Shirt Size", choices=SIZE_CHOICES, default=MEDIUM)

Также не забудьте про обязательный аргумент max_length в вашем CharField. Я установил его на 20 для возможного расширения SIZE_CHOICES, но только для M и L будет достаточно установить его на 1.

Вернуться на верх