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

相关推荐
不才不才不不才9 分钟前
Spring 源码系列(27): @Transactional 七大失效场景与源码归因
java·后端·spring
妙码生花16 分钟前
PHP 各框架下和 Go 的性能比较
前端·后端·go
名字还没想好☜24 分钟前
Python 字符编码实战:encode/decode、UnicodeDecodeError 与 open 的 encoding 坑
开发语言·后端·python·编程语言
带多刺的玫瑰34 分钟前
Leecode#29刷题之两数相除
java·python·算法
smj2302_7968265235 分钟前
解决leetcode第4017题数组中的峰值II
python·算法·leetcode
大勇前进36 分钟前
Java 线程创建的 4 种方式,优缺点对比,开发推荐写法
后端
明月_清风36 分钟前
Foundry Web3 测试框架入门:从 0 开始写 Solidity 测试
后端·web3·solidity
万少37 分钟前
等不到 Apple 的折叠 iPhone,我用 DeepV4.1Flash + workBuddy 一句话自己造了一台
前端·javascript·后端
卷无止境40 分钟前
AI Agent编程中,重构节奏与安全检查的门道
后端·python
慧都小妮子1 小时前
用 Python 批量把 PDF 参考文献排成 MLA 格式:Spire.Doc for Python 实战
python·pdf·c#·spire.doc·mla格式·参考文献排版·pdf批量处理