我有一个Django模型可供选择:
class Project(models.Model):
A = 'A'
B = 'B'
PROJECT_TYPE_CHOICES = (
(A, 'Plan Type A'),
(B, 'Plan Type B'),
)
project_type = models.CharField(max_length=1, choices=PROJECT_TYPE_CHOICES)
name = models.CharField(max_length=500)
def __str__(self):
return self.name
在此模型的管理列表视图中,我想显示存储的值:'A'
或'B'
,而不是选项的“显示”值:'Plan Type A'
或{{1 }}。当我的'Plan Type B'
看起来像这样:
admin.py
我得到了选择的显示值(我猜管理员试图提供帮助并为我或其他人调用class ProjectAdmin(admin.ModelAdmin):
list_display = ('project_type', 'name')
pass
admin.site.register(Project, ProjectAdmin)
)。如何强制它返回存储的值?
答案 0 :(得分:0)
你可以使用callable。将其添加到模型中并添加
def project_type_value(self):
return ("%s" % (self.project_type))
project_type_value.short_description = 'Project type'
在管理员中:
class ProjectAdmin(admin.ModelAdmin):
list_display = ('project_type_value', 'name')
admin.site.register(Project, ProjectAdmin)