Как получить поле выбора из моделей django в списке?

#django #django-models #django-rest-framework #django-views #django-forms

Вопрос:

У меня есть модель с полем выбора. Я хочу выбрать варианты выбора в списке.пожалуйста, помогите мне достичь этого

 OPTIONS = (
    ('COOL', 'COOL'),
    ('WARM', 'WARM'),
)
class My_Model(models.Model):
     options = models.CharField(max_length=20, choices=OPTIONS, default=None,blank=True, null=True)
 

Мне нужны значения параметров в списке, например [«КРУТО», «ТЕПЛО»], Как этого добиться, я пробовал что-то вроде My_Model.options, но это не работает

Ответ №1:

Вы можете получить данные с помощью:

 >>> My_Model.options.field.choices
(('COOL', 'COOL'), ('WARM', 'WARM'))
 

таким образом, вы можете получить список ключей с:

 >>> [c[0] for c in My_Model.options.field.choices]
['COOL', 'WARM']
 

и используйте c[1] , если вам нужно значение (деталь, которая отображается для этого выбора).

Ответ №2:

Я проверил приведенный выше код, но он выдает ошибку в поле .

Поэтому я попробовал другой код, и этот код работает на меня.

 [OPTIONS[c][0] for c in range(len(OPTIONS))]
 

[«КРУТО», «ТЕПЛО»]