首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在list_display中访问另一个表中的列?

在Django中,可以通过使用ForeignKeyOneToOneField字段来建立两个模型之间的关联关系。当需要在list_display中访问另一个表中的列时,可以使用双下划线(__)来表示跨模型的字段访问。

假设有两个模型ModelAModelB,并且ModelB包含一个外键字段指向ModelA,可以通过以下方式在list_display中访问ModelB中的列:

代码语言:txt
复制
from django.contrib import admin

class ModelAAdmin(admin.ModelAdmin):
    list_display = ('id', 'modelb_column')

    def modelb_column(self, obj):
        return obj.modelb.field_name
    modelb_column.short_description = 'ModelB Column'

admin.site.register(ModelA, ModelAAdmin)

在上述代码中,modelb_column是一个自定义的方法,它接收一个ModelA对象作为参数,并返回ModelB中的某个字段值。通过在list_display中添加modelb_column,可以在管理界面中显示ModelB中的列。

需要注意的是,modelb_column方法中的obj参数表示当前行的ModelA对象。通过obj.modelb.field_name可以访问到ModelB中的字段值。

此外,如果需要在list_display中显示ModelB中的多个列,可以在ModelAAdmin中定义多个类似的方法,并在list_display中添加相应的方法名。

关于腾讯云相关产品和产品介绍链接地址,可以参考腾讯云官方文档或咨询腾讯云客服获取更详细的信息。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券