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

抱怨使用TabularInline时缺少list_display

是因为在使用Django框架的Admin后台管理时,想要在父模型的详情页中以表格形式展示与之关联的子模型的内容,并且希望能够自定义展示的字段。而TabularInline是一种内联模型,用于实现在父模型的详情页中以表格形式展示子模型的内容。然而,与StackedInline不同的是,TabularInline在默认情况下并不支持自定义展示字段。

为了解决这个问题,可以通过在TabularInline子类中定义list_display属性来自定义展示的字段。list_display属性是一个元组或列表,用于指定要在表格中展示的字段。每个字段可以是模型的字段名称或者模型方法。当使用TabularInline时,需要在子类中通过内联模型的verbose_name_plural属性指定子模型的复数形式的名称。

下面是一个示例代码,展示了如何在TabularInline中定义list_display属性:

代码语言:txt
复制
from django.contrib import admin
from .models import ParentModel, ChildModel

class ChildModelInline(admin.TabularInline):
    model = ChildModel
    extra = 1
    verbose_name_plural = 'Child Models'
    list_display = ('field1', 'field2', 'custom_method')

    def custom_method(self, obj):
        # 自定义模型方法
        return obj.some_field

@admin.register(ParentModel)
class ParentModelAdmin(admin.ModelAdmin):
    inlines = [ChildModelInline]
    list_display = ('field1', 'field2')

在上述示例中,ChildModelInline继承自TabularInline,通过设置model属性指定与之关联的子模型,并通过list_display属性定义要展示的字段。其中,'field1'和'field2'是子模型的字段名,'custom_method'是一个自定义的模型方法。通过设置verbose_name_plural属性指定了子模型的复数形式的名称。

在ParentModelAdmin中,通过inlines属性将ChildModelInline添加为内联模型。list_display属性定义了父模型的字段名。

通过以上的配置,可以在父模型的详情页中以表格形式展示与之关联的子模型的内容,并自定义展示的字段。

关于腾讯云相关的产品和产品介绍链接地址,由于问题要求不提及具体品牌商,无法给出相关链接。您可以在腾讯云的官方网站上查找与云计算相关的产品和服务,以满足您的需求。

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

相关·内容

  • Django 上传图片和Admin站点5.2

    Django就会自动搜索每个应用的admin模块并将其导入 ModelAdmin对象 ModelAdmin类是模型在Admin界面中的表示形式 定义:定义一个类,继承于admin.ModelAdmin,注册模型使用这个类...通常定义在应用的admin.py文件里 使用方式一:注册参数 admin.site.register(HeroInfo,HeroAdmin) 使用方式二:注册装饰器 @admin.register(HeroInfo...默认显示在页面的顶部 class HeroAdmin(admin.ModelAdmin): actions_on_top = True actions_on_bottom = True list_display...hcontent')}) ) fields与fieldsets两者选一 InlineModelAdmin对象 类型InlineModelAdmin:表示在模型的添加或修改页面嵌入关联模型的添加或修改 子类TabularInline...:以表格的形式嵌入 子类StackedInline:以块的形式嵌入 class HeroInline(admin.TabularInline): model = HeroInfo class

    47230

    Admin组件

    本篇文章通过 对admin源码简单分析admin内部原理 ,扩展使用方式,为以后进行定制和自己开发组件做铺垫。 Admin的使用 Django 提供了基于 web 的管理工具。...= ('user', 'pwd',) ModelAdmin中提供了大量的可定制功能,如 1. list_display,列表,定制显示的列。...ctime' 8 inlines,详细页面,如果有其他表和当前表做FK,那么详细页面可以进行动态增加和删除 class UserInfoInline(admin.StackedInline): # TabularInline...* class BookInline(admin.StackedInline): # TabularInline extra = 0 model = Book class BookAdmin...实现单例模式的方式 使用模块 使用 __new__ 使用装饰器(decorator) 使用元类(metaclass) (1)使用 __new__ 为了使类只能出现一个实例,我们可以使用 __new__

    1.6K30

    Django之admin的使用和源码剖析

    = ('user', 'pwd',) ModelAdmin中提供了大量的可定制功能,如  1. list_display,列表,定制显示的列。...ctime' 8  inlines,详细页面,如果有其他表和当前表做FK,那么详细页面可以进行动态增加和删除 class UserInfoInline(admin.StackedInline): # TabularInline...使用radio显示选项(FK默认使用select) radio_fields = {"ug": admin.VERTICAL} # 或admin.HORIZONTAL 19 form = ModelForm...from .models import * class BookInline(admin.StackedInline): # TabularInline extra = 0 model...在 Python 中,我们可以用多种方法来实现单例模式: 使用模块 使用 __new__ 使用装饰器(decorator) 使用元类(metaclass) (1)使用 __new__ 为了使类只能出现一个实例

    2.1K00

    使用Django实现把两个模型类的数据聚合在一起

    但是我用Django2.0会报错。。真是搞不懂,后来我直接使用字段名居然可以,醉了。...默认对学生编辑,无法在编辑页面直接编辑相关联的子表,例如: models.py代码: class Students(models.Model): name = models.CharField(max_length...使用Django的TabularInline,可以解决这个问题,在父表里对子表进行编辑: 所有代码都在admin.py里写,具体如下: # 一对多关联表编辑,让父表管理配置页面能同时编辑子表,以下的Score...为子表(有外键所在的表) class ScoreInline(admin.TabularInline): # Score 必须是models.py中的模型名称,大小写必须要匹配.这个模型为子表,以便可以被父表编辑...以上这篇使用Django实现把两个模型类的数据聚合在一起就是小编分享给大家的全部内容了,希望能给大家一个参考。

    1.4K20

    Django教程 —— 初步完善图书管理系统

    TextField: 大文本字段,一般超过4000个字符使用。 IntegerField: 整数。...admin.TabularInline: 嵌入编辑关联的对象的编辑样式为表格式类 admin.StackedInline: 嵌入编辑关联的对象的编辑样式为堆放式类 model: 关联的子对象...model = BookInfo # 关联的子对象 extra = 1 # 嵌入编辑子对象的个数 class BookInfoInline(admin.TabularInline...嵌入编辑关联的对象(堆放式) 在编辑图书类型的时候,会在下面根据 extra 属性值内嵌入关联的对象(图书信息)的个数 嵌入编辑关联的对象(表格式) 建议: 如果关联的模型(表)属性较多,建议使用...如果关联的模型(表)属性较少,放置多些建议 表格式(admin.TabularInline),少些时任意格式都无伤大雅。

    53420

    Django教程 —— 初步完善图书管理系统

    TextField: 大文本字段,一般超过4000个字符使用。 IntegerField: 整数。...admin.TabularInline: 嵌入编辑关联的对象的编辑样式为表格式类 admin.StackedInline: 嵌入编辑关联的对象的编辑样式为堆放式类 model: 关联的子对象...如果要 切换到其他数据库 可以在应用下的 migrations 目录下删除之前创建的迁移文件然后在创建迁移文件即可。...嵌入编辑关联的对象(堆放式) 在编辑图书类型的时候,会在下面根据 extra 属性值内嵌入关联的对象(图书信息)的个数 嵌入编辑关联的对象(表格式) 建议: 如果关联的模型(表)属性较多,建议使用...如果关联的模型(表)属性较少,放置多些建议 表格式(admin.TabularInline),少些时任意格式都无伤大雅。

    99821

    四、其它(一)ModelAdmin对象InlineModelAdmin对象重写admin模板Paginator对象Page对象示例

    Django就会自动搜索每个应用的admin模块并将其导入 ModelAdmin对象 ModelAdmin类是模型在Admin界面中的表示形式 定义:定义一个类,继承于admin.ModelAdmin,注册模型使用这个类...= '姓名' hContent.short_description = '内容' 在admin.py页中注册 class HeroAdmin(admin.ModelAdmin): list_display...hcontent')}) ) fields与fieldsets两者选一 InlineModelAdmin对象 类型InlineModelAdmin:表示在模型的添加或修改页面嵌入关联模型的添加或修改 子类TabularInline...:以表格的形式嵌入 子类StackedInline:以块的形式嵌入 class HeroInline(admin.TabularInline): model = HeroInfo class...PageNotAnInteger:当向page()传入一个不是整数的值抛出 EmptyPage:当向page()提供一个有效值,但是那个页面上没有任何对象抛出 Page对象 创建对象 Paginator

    4.5K20
    领券