首页
学习
活动
专区
工具
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

    48030

    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.2K00

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

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

    54420

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

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

    1K21

    四、其它(一)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

    Django流程_菜鸟裹裹收费标准

    、说明: 9、Admin站点管理 a、概述: 内容发布 公共访问 b、配置Admin应用 c、创建管理员用户 d、汉化 10、管理数据表 a、修改admin.py文件 b、自定义管理页面 属性说明: list_display...list_filter search_fields list_per_page fields fieldsets 关联对象 布尔值显示问题 执行动作位置 c、使用装饰器完成注册 11、视图的基本使用...isDelete = models.BooleanField(default=False) # 关联外键 sgrade = models.ForeignKey("Grades") 说明:不需要定义主键,在生成时自动添加...",{"fields":['gname','gdate','isDelete']}) # ] admin.site.register(Grades, GradesAdmin) 属性说明: 列表页属性 list_display...关联对象 需求:在创建一个班级时可以直接添加几个学生 class StudentsInfo(admin.TabularInline):# Stackedlnline model = Students

    1.3K30
    领券