我在用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
Run Code Online (Sandbox Code Playgroud)
我已经在管理区域中公开了该模型,如下所示:
admin.site.register(Gender)
Run Code Online (Sandbox Code Playgroud)
然后我可以转到管理区域并添加性别。
问题:
性别显示为数字(例如,如果我选择“男性”,则为 1)而不是“男性”。
注意我已经尝试向 GenderValues 添加一个标签,如下所示,但没有什么区别:
labels = {
MALE: 'Male',
}
Run Code Online (Sandbox Code Playgroud)
你知道如何在管理区域中显示“MALE”或“Male”而不是 1 吗?
谢谢。
使用_display()
def __str__(self):
return self.get_gender_display()
Run Code Online (Sandbox Code Playgroud)
或者
使用list_display(在管理中)
class GenderAdmin(admin.ModelAdmin):
list_display=['gender']
admin.site.register(Gender, GenderAdmin)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4887 次 |
| 最近记录: |