Django admin:更改键的显示值

时间:2019-02-13 10:25:18

标签: django django-admin

我有一个包含键“ service_id”的模型,数据库中存储的值类似于“ 10001”,我想向管理页面添加一个方法,而不是显示id,而是显示一个自定义值,例如“洗车” “。

2 个答案:

答案 0 :(得分:0)

按照以下步骤创建管理类

class ModelclassNameAdmin(admin.ModelAdmin):
    list_display = ('service__name', [other fields])

在其中用于列表显示使用双下划线__来访问外键(如service__name)中的字段

在注册模型时,将admin作为第二个参数。

admin.site.register(ModelclassName, ModelclassNameAdmin)

答案 1 :(得分:0)

我认为您需要创建一个custom field并添加到您的list_display

from django.contrib import admin

@admin.register(MyModelClass)
class MyModelClassAdmin(admin.ModelAdmin):
    list_display = ('my_field')

    def my_field(self, obj):
        return obj.description().title()
    my_field.short_description = "My field" 

您可以根据需要更改my_field方法返回的值(请考虑可以使用obj实例)。