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

如何修改Django中StackedInline内的记录标题?

Django后台StackedInline记录标题修改/移除方案

方法一:重写get_inline_heading方法(Django 3.2+)

Django 3.2及以上版本为InlineModelAdmin提供了get_inline_heading方法,专门用于生成每条inline记录的标题,直接重写即可实现修改或移除:

修改标题

from django.contrib import admin

class YourStackedInline(admin.StackedInline):
    model = YourModel
    # 其他配置项...

    def get_inline_heading(self, instance):
        # 自定义标题,比如用对象的某个字段值
        return f"自定义标题: {instance.your_field}"
        # 也可以写固定文本
        # return "我的专属标题"

移除标题

直接返回空字符串即可:

def get_inline_heading(self, instance):
    return ""

方法二:重写模型的__str__方法(全版本通用)

如果标题默认使用模型对象__str__方法的返回值,修改这个方法就能间接调整标题内容:

class YourModel(models.Model):
    # 模型字段定义...

    def __str__(self):
        # 返回你想要的内容,替换默认的对象标识
        return self.your_field_name

注意:这种方法会影响所有用到__str__的地方,比如Admin列表页,按需选择。

方法三:自定义Inline模板(无版本限制)

要是上面的方法都不适用,就自定义Inline模板来去掉标题:

  1. 把Django默认的admin/edit_inline/stacked.html模板复制到你项目的模板目录里
  2. 找到带标题的代码块(一般是<h3>标签那段),删掉或者修改
  3. 在Inline类里指定这个自定义模板:
class YourStackedInline(admin.StackedInline):
    model = YourModel
    template = "admin/your_app/your_custom_stacked.html"

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 23:53:15