在Django中,可以通过使用ForeignKey
或OneToOneField
字段来建立两个模型之间的关联关系。当需要在list_display
中访问另一个表中的列时,可以使用双下划线(__
)来表示跨模型的字段访问。
假设有两个模型ModelA
和ModelB
,并且ModelB
包含一个外键字段指向ModelA
,可以通过以下方式在list_display
中访问ModelB
中的列:
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
中添加相应的方法名。
关于腾讯云相关产品和产品介绍链接地址,可以参考腾讯云官方文档或咨询腾讯云客服获取更详细的信息。
领取专属 10元无门槛券
手把手带您无忧上云