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

如何在Django后台仅显示外键的指定字段而非整个对象

Django后台Relationship表仅显示Part的part_id字段的解决方法

方法一:修改Part模型的__str__方法

这是最直接的方式,在models.py的Part类里重写__str__方法,让它返回part_id的值。这样不管哪里引用Part对象,都会显示part_id,包括Relationship后台的关联列。

代码示例:

class Part(models.Model):
    part_id = models.CharField(max_length=50, unique=True)
    # 你的其他字段...

    def __str__(self):
        return self.part_id

方法二:自定义Relationship的Admin显示字段

如果不想改动Part模型的__str__(比如其他场景需要保留原对象显示逻辑),可以在admin.py里给Relationship单独配置后台显示规则,直接指定展示关联Part的part_id。

代码示例:

from django.contrib import admin
from .models import Relationship

class RelationshipAdmin(admin.ModelAdmin):
    # 替换成你需要展示的其他字段,这里把原有的part列换成自定义的get_part_id
    list_display = ('id', 'get_part_id', 'vendor')

    def get_part_id(self, obj):
        return obj.part.part_id
    # 给这个自定义列设置表头名称
    get_part_id.short_description = 'Part ID'

admin.site.register(Relationship, RelationshipAdmin)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 00:55:54