Django 如何显示枚举字段的文本值?
我使用的是Django 如何显示枚举字段的文本值?,django,Django,我使用的是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): ret
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)
然后我可以到管理区添加性别
问题:
性别显示为数字(例如,如果我选择“男性”,则为1),而不是“男性”
注:我曾尝试向GenderValue添加这样的标签,但没有任何区别:
labels = {
MALE: 'Male',
}
你知道如何在管理区显示“男性”或“男性”而不是1吗
谢谢。使用\u display()
或
使用列表显示(在管理中)
太棒了,谢谢你。你介意我问你怎么知道的吗?我发现在不记住django文档的情况下很难理解这些东西…您可能搜索了EnumField或其他内容。使用选项
选项更容易,谢谢。我确实搜索了EnumField。。。我现在可以在选项部分看到解决方案。干杯
def __str__(self):
return self.get_gender_display()
class GenderAdmin(admin.ModelAdmin):
list_display=['gender']
admin.site.register(Gender, GenderAdmin)