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通用

相关推荐
七夜zippoe20 小时前
Python错误追踪终极指南:Sentry集成与深度定制实战
数据库·python·sentry·告警策略·错误追踪
DamianGao20 小时前
我用 OpenClaw 做了一个 AI 新闻早报,每天自动推送
人工智能·python·语言模型
毕业设计-小慧20 小时前
计算机毕业设计springboot电影选座与订票系统 基于SpringBoot的影院在线票务管理平台 基于SpringBoot的智能影厅座位预约系统
spring boot·后端·课程设计
Westward-sun.20 小时前
Python argparse 模块:命令行参数解析实战全攻略
python·opencv·机器学习·rpc
Storynone20 小时前
【Day21】LeetCode:93. 复原IP地址,78. 子集,90. 子集 II
python·算法·leetcode
RechoYit20 小时前
项目记录:把 OpenClaw 结合自己的交易项目做成飞书里的 AI Trading Partner-- A 股智能分析机器人
人工智能·python·金融·飞书·投资·openclaw
只做人间不老仙21 小时前
grpc测试工具ghz的使用
后端·grpc
丶西红柿丶21 小时前
python中函数也可以是对象
后端
nananaij21 小时前
【LeetCode-01 两数之和 python解法】
开发语言·python·算法·leetcode
Moe48821 小时前
Java 反射机制
java·后端·架构