How to display the text value of an enum field?

django

Solution

use `_display()`

def __str__(self):
    return self.get_gender_display()

or

Use `list_display` (in admin)

class GenderAdmin(admin.ModelAdmin):

     list_display=['gender']

admin.site.register(Gender, GenderAdmin) 

Problem

I am using `django_enumfield` My model looks like this: ``` 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 ``` I have exposed this model in the admin area as follows: ``` admin.site.register(Gender) ``` I can then go to the admin area and add a gender. Problem: The gender appears as the number (e.g. 1 if I choose 'Male') instead of "MALE". Note I have tried adding a label to GenderValues like this but it makes no difference: ``` labels = { MALE: 'Male', } ``` Do you know how I can display "MALE" or "Male" in the admin area instead of 1? Thank you.

Original source