You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改Django Admin对象显示名称为表字段值并添加搜索栏?

当然可以啦!这两个需求在Django Admin里都能轻松实现,我给你一步步拆解:

1. 修改对象显示名称为指定字段(比如name)

Django Admin默认显示的“TABLE Object(id)”,是因为你的模型没有定义自定义的字符串展示方法。只要在模型类里添加__str__方法,就能替换成你想要的字段内容:

from django.db import models

class YourModel(models.Model):
    name = models.CharField(max_length=100)
    # 这里可以添加其他你的模型字段

    def __str__(self):
        # 直接返回name字段作为显示名称
        # 如果担心name字段可能为空,可以加个兜底逻辑
        return self.name or f"Unnamed Item ({self.id})"

保存代码后刷新Admin页面,所有对象就会自动显示对应的name值啦~

2. 添加针对项目名称的搜索筛选栏

要实现搜索功能,只需要在对应的Admin管理类里配置search_fields属性即可:

from django.contrib import admin
from .models import YourModel

class YourModelAdmin(admin.ModelAdmin):
    # 指定要搜索的字段,这里填name就会针对name字段做模糊搜索
    search_fields = ['name']
    # 如果需要支持多字段搜索,也可以添加其他字段,比如:
    # search_fields = ['name', 'description', 'category__name']

admin.site.register(YourModel, YourModelAdmin)

配置完成后,Admin页面的顶部会自动出现搜索框,输入关键词就能实时筛选出name字段包含该关键词的项目了。

内容的提问来源于stack exchange,提问作者Evgeni Genchev

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.08 23:17:45