Я использую django_enumfield
Как отобразить текстовое значение поля enum?
Моя модель выглядит следующим образом:
class GenderValues(enum.Enum):
NONE = 0
MALE = 1
FEMALE = 2
BOTH = 3
class Gender(models.Model):
gender = enum.EnumField(GenderValues, default=GenderValues.NONE)
def __str__(self):
return self.gender
Я выставил эту модель в админке следующим образом:
admin.site.register(Gender)
Затем я могу пойти в админке и добавьте пол.
Проблема:
Гендерные появляется как число (например, 1, если я выбираю «мужской») вместо «мужского».
Примечание Я попытался добавить ярлык к GenderValues, как это, но это не имеет никакого значения:
labels = {
MALE: 'Male',
}
Вы знаете, как я могу отобразить «мужской» или «мужской» в админке вместо 1?
спасибо.
Потрясающе, спасибо. Вы не возражаете, я спросил, как вы это знаете? Мне очень сложно разобраться в этом материале, не заучивая документацию django ... –
Вы, вероятно, искали EnumField или что-то в этом роде. Использование опции 'choice' проще https://docs.djangoproject.com/en/1.10/ref/models/fields/#choices – FeedTheWeb
Спасибо. Я действительно искал EnumField ... Теперь я вижу решение в разделе выбора. Ура! –