我正在使用django_enumfield
我的模型看起来像这样:
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)
然后我可以转到管理区域并添加性别。
问题:
性别显示为数字(例如,如果我选择的话是男性'男性')而不是" MALE"。
注意我已经尝试过像这样向GenderValues添加标签,但它没有区别:
labels = {
MALE: 'Male',
}
你知道如何展示" MALE"或者"男性"在管理区域而不是1?
谢谢。
答案 0 :(得分:2)
使用_display()
def __str__(self):
return self.get_gender_display()
或
使用list_display
(在管理员中)
class GenderAdmin(admin.ModelAdmin):
list_display=['gender']
admin.site.register(Gender, GenderAdmin)