django admin list_display显示外键字段处理办法

参考:

https://www.ywcsb.vip/blog/101.html

list_display展示外键内容

表结构关系

表一:

cpp 复制代码
class Person(models.Model):
    firstname = models.CharField(maxlength=50)
    surname = models.CharField(maxlength=50)

表二

cpp 复制代码
class Friends(models.Model):
    person1 = models.ForeignKey("Person")
    friendship_made = models.DateField()

admin.py

cpp 复制代码
admin中可以写如下内容

class PersonAdmin(admin.ModelAdmin):
    list_display = ["firstname",  "surname", "friendship_made"] # 这里需要注意的是,firstname、surname是我们要在前端展示的内容,自己定义的
    def firstname(self, obj):
        return obj.person1.firstname # person1是我们Person表中外键的字段,firstname是刚才我们自定义的字段,
    firstname.short_description = 'Review' # 对firstname这个做个简短的title。
    def surname(self, obj):
        return obj.person1.surname
    surname.short_description = 'Review'

注意admin和xadmin通用

相关推荐
Rust研习社几秒前
Rust Clippy 实用指南:写出更优雅、安全的 Rust 代码
后端·rust·编程语言
小撒的私房菜1 分钟前
Agent = Model + Harness:这个公式,让我重新理解了 AI 工程
人工智能·后端
掘金者阿豪1 分钟前
Go 语言操作金仓数据库(下篇):SQL 执行、类型映射与超时控制
后端
IVEN_1 分钟前
全栈开发必看:从内存变量到关系型数据库的完整旅程
后端
QH_ShareHub2 分钟前
从 R 到 Python:数据科学生态的“双语”对照手册
开发语言·python·r语言
m0_740796364 分钟前
MongoDB节点一直处于RECOVERING状态怎么排查_Oplog陈旧与全量同步失败
jvm·数据库·python
MacroZheng4 分钟前
横空出世!IDEA最强MyBatis插件来了,功能很全!
java·后端·mybatis
驼同学.4 分钟前
牛客网面试TOP101 - Python算法学习指南
python·算法·面试
2301_815901975 分钟前
Go语言怎么做秒杀系统_Go语言秒杀系统实战教程【实用】
jvm·数据库·python
codebetter5 分钟前
X86 Windows Docker Desktop 运行 arm64 容器
后端