Доступ к Django field.choices Есть ли способ (без использования формы) для доступа к значению выбора полей модели? Я хочу сделать что-то вроде field.choices - и получить список значений либо в представлении, либо в шаблоне Ответ 1 Конечно, просто войдите в атрибут choice поля Model. MyModel._meta.get_field('foo').choices my_instance._meta.get_field('foo').choices Ответ 2 Если вы объявляете свой выбор следующим образом: class Topic(models.Model): PRIMARY = 1 PRIMARY_SECONDARY = 2 TOPIC_LEVEL = ((PRIMARY, 'Primary'), (PRIMARY_SECONDARY, 'Primary & Secondary'),) topic_level = models.IntegerField('Topic Level', choices=TOPIC_LEVEL, default=1) Это хороший способ сделать это на самом деле. См.: http://www.b-list.org/weblog/2007/nov/02/handle-choices-right-way/ Затем вы можете вернуть выбор просто с помощью Topic.TOPIC_LEVEL Ответ 3 Я думаю, что вы ищете функцию get_fieldname_display().
Ответ 1 Конечно, просто войдите в атрибут choice поля Model. MyModel._meta.get_field('foo').choices my_instance._meta.get_field('foo').choices
Ответ 2 Если вы объявляете свой выбор следующим образом: class Topic(models.Model): PRIMARY = 1 PRIMARY_SECONDARY = 2 TOPIC_LEVEL = ((PRIMARY, 'Primary'), (PRIMARY_SECONDARY, 'Primary & Secondary'),) topic_level = models.IntegerField('Topic Level', choices=TOPIC_LEVEL, default=1) Это хороший способ сделать это на самом деле. См.: http://www.b-list.org/weblog/2007/nov/02/handle-choices-right-way/ Затем вы можете вернуть выбор просто с помощью Topic.TOPIC_LEVEL