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

我可以在Django Admin中显示二级以上相关字段吗?

在Django Admin中,默认情况下只能显示一级相关字段,但是可以通过一些方法来实现显示二级以上相关字段。

一种方法是使用list_display属性来定义Admin中显示的字段列表。可以在Admin类中重写list_display属性,将需要显示的字段添加进去。对于二级以上相关字段,可以使用双下划线来表示关联关系,例如related_model__related_field。这样就可以在Admin中显示二级以上相关字段了。

另一种方法是使用list_select_related属性来优化查询性能。默认情况下,Django会使用延迟加载(lazy loading)的方式查询相关字段,这可能导致多次查询数据库。通过设置list_select_related属性,可以告诉Django在查询相关字段时使用select_related方法进行优化,减少数据库查询次数,提高性能。

以下是一个示例代码,展示了如何在Django Admin中显示二级以上相关字段:

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

class ModelAAdmin(admin.ModelAdmin):
    list_display = ('field1', 'field2', 'related_model__related_field')

    def get_queryset(self, request):
        queryset = super().get_queryset(request)
        queryset = queryset.select_related('related_model')
        return queryset

admin.site.register(ModelA, ModelAAdmin)

在上述示例中,ModelA是一个模型类,其中包含了一个与RelatedModel模型类的外键关联字段related_model。通过在list_display中添加related_model__related_field,可以在Admin中显示ModelA模型的related_modelrelated_field字段。

需要注意的是,以上方法适用于Django的Admin界面,对于其他前端开发框架或自定义的界面,可能需要根据具体情况进行相应的处理。

推荐的腾讯云相关产品:腾讯云服务器(CVM)和腾讯云数据库(TencentDB)。腾讯云服务器提供了可靠的云计算基础设施,可以满足各种规模的应用需求。腾讯云数据库提供了高性能、可扩展的数据库服务,支持多种数据库引擎,适用于各种应用场景。

腾讯云服务器产品介绍链接:https://cloud.tencent.com/product/cvm 腾讯云数据库产品介绍链接:https://cloud.tencent.com/product/cdb

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

相关·内容

Simple UI快速上手

Simple UI给你想要的答案,不是打广告的~ 介绍 simpleui 是django admin的一个主题 是一个基于element-ui+vue开发,重写和优化90%以上的页面。...我们是一个更符合国人审美和使用习惯的一个主题 特点 内置28款流行的主题 ⚡️ pip闪电安装100%兼容原生admin无需修改代码 ✨ 多标签页面,各个模块更加清晰明了 配置简单,极速上手,settings.py...pip install django-simpleui 自己项目的settings.py文件INSTALLED_APPS的第一行加入simpleui # Application definition...class BookAdmin(admin.ModelAdmin): # 设置列表可显示字段 list_display = ('name', 'price', 'author')...system_keep': False, 'menu_display': ['Simpleui', '测试', '权限认证', '动态菜单测试'], # 开启排序和过滤功能, 不填此字段为默认排序和全部显示

96710

几乎不写一行代码,快速开发后台功能

inspectdb > models.py #输出到models.py文件 当数据表字段很多时,反向生成模型可以提高模型的编写效率。...打开本书配套资源的“settings.py”,INSTALLED_APPS列表增加商城系统后台的相关应用,如以下代码所示。...="商品管理" 这样,“商品管理”会显示Admin后台管理系统的左侧菜单导航。...该类用来Admin后台管理系统显示模型。 (2)使用装饰器将模型类Goods和GoodsAdmin关联起来,并注册到Admin后台管理系统。...刷新Admin后台管理系统界面,如下图所示。可以看到左侧的菜单“商品管理”下出现了商品信息、商品分类和首页轮播等二级菜单。 单击左侧菜单的“商品分类”链接,右侧会显示商品分类列表数据。

91920
  • Xadmin+rules实现多选行权限方式(级联效果)

    的同级目录新增rules.py,配置该app相关的对象权限 # rules.py #必须将以下内容添加到rules.py文件的顶部,否则在尝试导入django-rules本身时会出现导入错误。...行权限配置(多选) 若要达到级联多选效果需要在原基础上修改models.py并添加 views.py\urls.py及js即可实现 新建一个类别模型(可对比上面的模型),并在已有的CompanyUser添加类别字段...的一级目录id=id_category,二级目录id=id_category_code 下面开始创建一个新的js文件 并将id替换到js文件 #名字随便.的是xadmin.js # xadmin.js...‘title’ 替换为你想要显示的数据库字段名 有两个(20行|40行) var test = {text: data[i].fields.title, value: data[i].pk, $order...LoginRequiredMixin from django.views import View # 二级联动View函数 class SelectView(LoginRequiredMixin, View

    66420

    Django连接MySql使用models处理数据

    页面上显示内容可以简单的用django.http.HttpResponse来显示我们需要的内容,但是当我们需要一些处理一些复杂的数据或者从数据库读出来的操作要显示html标签内或者js代码中就需要用渲染模板的方法...所以用了root用户 ‘PORT’端口号一般默认3306,没有特殊需求不要改 这里用的是mysql数据库,没有用django自带的数据库 Python2 环境,我们需要安装mysqldb,,下载地址这里就不提供了...manage.py migrate 以上代码用于django1.7以上,如果不是。...这里的str是获取数据库name等于name1的age字段 这里只用了一个简单的获取一个数据,相关的函数有很多,django有很多封装好的数据库操作,能让我们更方便的使用 也总结了一份操作数据库的语句...http://127.0.0.1:8000/index/ 注: 上述代码django1.7和Python2.7编译成功运行,其他环境请自行测试 上述文字皆为个人看法,如有错误或建议请及时联系

    1.1K20

    Django3.2边学边记—Adimn站点管理

    可以控制不同模型Admin界面的展示方式,主要包括列表页的展示方式、添加修改页的展示方式 上文中展示了TestAdmin类的一种注册方法,还有一种方法,就是使用装饰器注册,如下: 123 @admin.register...def atitle(self):        return self.title 按以上方法显示的列是不能排序的,如果让这个方法显示的列也能排序,就给atitle方法的.admin_order_field...atitle.short_description='标题'   如果是更改模型字段显示的列标题,可以定义模型字段时,设置verbose_name的值 ,或者封装成方法,再对方法使用上面那个属性,模型字段不能直接使用那个属性...None,一个空字符串,或者一个没有元素的可迭代字段Django显示 - (破折号)。   ... = 'unknown' 以上通过指定方法属性来控制显示是新老版本通用的,Django3.2可以通过给装饰器传参来解决:   model.py: 1234567891011121314151617

    1.3K30

    Django3.2边学边记—Adimn站点管理

    可以控制不同模型Admin界面的展示方式,主要包括列表页的展示方式、添加修改页的展示方式 上文中展示了TestAdmin类的一种注册方法,还有一种方法,就是使用装饰器注册,如下: 123 @admin.register...def atitle(self):        return self.title 按以上方法显示的列是不能排序的,如果让这个方法显示的列也能排序,就给atitle方法的.admin_order_field...atitle.short_description='标题'   如果是更改模型字段显示的列标题,可以定义模型字段时,设置verbose_name的值 ,或者封装成方法,再对方法使用上面那个属性,模型字段不能直接使用那个属性...None,一个空字符串,或者一个没有元素的可迭代字段Django显示 - (破折号)。   ... = 'unknown' 以上通过指定方法属性来控制显示是新老版本通用的,Django3.2可以通过给装饰器传参来解决 1234567891011121314151617 from django.db

    1.2K00

    零基础使用Django2.0.1打造在线教育网站(九):初识后台管理

    然后点击下拉的 Run manage.py Task按钮,命令行输入:runserver再回车: 浏览器地址栏输入http://127.0.0.1:8000/admin出现: 恭喜你...xadmin的安装 还记得前面的一篇笔记让你新建一个文件夹A,把下载的xadmin文件放在里面,不记得请查阅这篇笔记:零基础使用Django2.0.1打造在线教育网站(六):教育网站开发配置(...我们现在尝试添加一个邮箱验证码,点击右侧的增加邮箱验证码按钮,输入相关信息,可以看到添加成功了: 接下来,我们看一下右侧的显示列,点击一下: 里面可以选择显示的内容,我们现在想在刚才的页面同时显示这些全部信息...,所以需要配置一下:我们打开users/adminx.py文件,在里面的管理器设置list_display字段: # 写一个管理器,命名规则:Model+Admin,注意这里不再是继承admin,..., 'send\_type', 'send\_time' # 一次显示你想出现的多行数据, # 这里面的字段都是你在前面数据库定义的,请保持数据的一致 然后还可以配置过滤器,搜索框等,这里就不一一说明

    1.2K30

    django admin配置搜索域是一个外键时的处理方法

    python 2.7.11 django 1.8.4 错误内容:related Field has invalid lookup: icontains 原来默认认为处理外键搜索的时候,django...页面上显示字段,若不设置则显示 models.py __unicode__(self) 中所返回的值 list_display_links = ('category') # 设置页面上哪个字段可单击进入详细页面...fields = ('category', 'book') # 设置添加/修改详细信息时,哪些字段显示,在这里 remark 字段将不显示 admin.site.register(Category..., CategoryAdmin) [ 说明 ] 使用 Django admin 系统的搜索时可能会出现“related Field has invalid lookup: icontains”错误,...django admin配置搜索域是一个外键时的处理方法就是小编分享给大家的全部内容了,希望能给大家一个参考。

    3.8K20

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

    Django想要把模型类聚合得到想要的数据可以用F对象。 比如有模型类A和B,A和B之间有外键关联在一起,A是子表,B是父表(反过来没试过。。...看到网上有说F对象可以这样用F(‘b__id’) == F(‘模型类名小写__字段名’),此处是双下划线。 但是Django2.0时会报错。。真是搞不懂,后来直接使用字段名居然可以,醉了。...:Django Admin页面显示父表,编辑子表 默认情况下,ModelAdmin只允许您管理模型“本身”字段,而不是相关模型.以下方法将实现,应用类的列表管理显示页面,显示父表的字段;在编辑页面,父表对子表进行编辑...应用类的列表管理显示页面,显示父表的字段 可以让Students,显示父表Grades的父表Level字段 models.py里的Students类里,写上如下代码: class Students(...使用Django的TabularInline,可以解决这个问题,父表里对子表进行编辑: 所有代码都在admin.py里写,具体如下: # 一对多关联表编辑,让父表管理配置页面能同时编辑子表,以下的Score

    1.4K20

    ​第 07 篇:创作后台开启,请开始你的表演!

    然后相关的地方输入一些测试用的内容,增加完后点击保存,这样文章就添加完毕了,你也可以多添加几篇看看效果。注意每篇文章必须有一个分类,添加文章时你可以选择已有分类。...访问 http://127.0.0.1:8000/ 首页,你就可以看到你添加的文章列表了,下面是所在环境的效果图: 定制 admin 后台 使用 admin 后台的时候,我们发现了下面的一些体验相关的问题...: •admin 后台本身的页面元素是已经汉化了的,但是我们自己的 blog 应用,以及 Post、Category、Tag 页面显示却是英文的,以及发布文章的时候,表单各字段的 label 也是英文的...此前我们 blog/admin.py 定义了一个 PostAdmin 来配置 Post admin 后台的一些展现形式。list_display 属性控制 Post 列表页展示的字段。...那么修改时间 modified_time 可以用 default

    1.1K20

    Django admin 一些有用的设置

    Django自带的后台管理是Django明显特色之一,可以让我们快速便捷管理数据。后台管理可以各个app的admin.py文件中进行控制。以下是最近摸索总结出比较实用的配置。...一、基本设置 1、应用注册 若要把app应用显示在后台管理,需要在admin.py中注册。这个注册有两种方式,比较喜欢用装饰器的方式。 先看看普通注册方法。...这样对多对多字段操作更方便。 另外,可以用fields或exclude控制显示或者排除的字段,二选一即可。 例如,想只显示标题、作者、分类标签、内容。...9.自定义列表字段 上面的一对多和多对多可以数据编辑显示,但在列表没有显示。有时还需要显示一些其他东西。例如两个字段相乘计算结果等等。这些都可以通过自定义列表字段处理和显示。...blog.tags.all())         return ', '.join(tag_names) 通过自定义列表字段,获取相关数据再列表显示,效果如下: ?

    2.6K70

    【Python全栈100天学习笔记】Day41 Django深入理解框架

    字段属性primary_key用于设置主键,max_length用来设置字段的最大长度,db_column用来设置数据库字段对应的列,verbose_name则设置了Django后台管理系统字段显示的名称...如果对这些东西感到很困惑也不要紧,文末提供了字段类、字段属性、元数据选项等设置的相关说明,不清楚的读者可以稍后查看对应的参考指南。 再次执行迁移操作,先通过模型生成迁移文件,再执行迁移创建二维表。...可能大家已经注意到了,刚才在后台查看部门信息的时候,显示的部门信息并不直观,为此我们再修改admin.py文件,通过注册模型管理类,可以在后台管理系统更好的管理模型。...说明:以上内容来自于STEELKIWI网站的Best Practice working with Django models in Python,有兴趣的小伙伴可以阅读原文。...unique 设置为True时,表字段的值必须是唯一的 verbose_name 字段在后台模型管理显示的名称,未指定时使用字段的名称 ForeignKey属性 limit_choices_to:值是一个

    2.3K30

    django 1.8 官方文档翻译: 1-2-2 编写你的第一个Django应用,第2部分

    可以切换到对应的旧版本教程去或者更新到较新的 Django 版本。 进入管理网站 现在尝试登录进去。(还记得本教程的第一部分时你创建过一个超级用户的帐号。...这些都是 Django 默认情况下自带的核心功能。 使 poll 应用的数据管理网站可编辑 但是 poll 应用在哪? 它可是没有管理网站的首页上显示啊。...Django 知道 ForeignKey 管理网站以 框显示本例,选择框仅存在一个 poll 。 另外请注意 Poll 旁边的 “Add Another” 链接。...使用了 TabularInline 后(而不是 StackedInline) ,基于表的格式下相关 对象被显示的更紧凑了: 需要注意的是有个额外的 “Delete?”...下面是现在的样子: 默认情况下, Django 显示的是每个对象 str() 的结果。但是若是我们能够 显示每个字段的话有时会更有帮助的。

    2.5K40

    django admin后管定制-显示字段的实例

    1、显示关键信息 效果如下图,这样就好看多啦。 ? 2、配置 admin.py 文件配置一下就行。...自定义用户表和使用admin来管理数据库 django 自定义用户表 使用django操作数据库时,django中生成默认的User表,其中的字段已经可以满足我们的日常需求。...但有时候,我们自己需要更多的字段,我们就可以自定义用户表。来替换django自带的User表。...db_table = “user” 自定义表名为user Django 使用admin来管理数据库的内容 Django提供了自带的admin功能,可以很方便的管理网站。...以上这篇django admin后管定制-显示字段的实例就是小编分享给大家的全部内容了,希望能给大家一个参考。

    2.9K20

    django admin详情表单显示添加自定义控件的实现

    开发中有需求详情显示里外键字段内容,并且添加按钮弹窗内容,以及按钮跳转内容。...添加一个字段字段中有一个widget参数,我们可以在其中设置控件,在里面添加了一个input类型,TextInput对象的参数attrs传入的是一个字典,我们可以在里面像写html一样写相关的css...而弹出窗口的值获取可以form添加一个hidden字段,value为我们想要获取的值,js取值赋值即可。...补充知识:Django admin 列表每行后面添加审核按钮 就废话不多说了,还是直接看代码吧!...刷新页面即可; 以上这篇django admin详情表单显示添加自定义控件的实现就是小编分享给大家的全部内容了,希望能给大家一个参考。

    4.9K20

    探索Django:从项目创建到图片上传的全方位指南

    在这个类,我们可以自定义模型在后台管理界面显示方式。在这个例子,我们通过设置list_display属性,指定了Image模型的列表页面显示哪些字段。...最后,我们使用admin.site.register()函数将Image模型和imageAdmin类关联起来,这样就可以在后台管理界面对Image模型进行管理,并且按照我们定义的方式进行显示。...启动服务,一旦服务器启动,你就可以浏览器访问你的 Django 项目,并在开发环境中进行测试和调试。...在这个内部类,我们可以指定与表单相关的元信息。model = Image: Meta 类,这行代码指定了表单对应的模型是 Image。这意味着表单将基于 Image 模型生成字段。...fields = ['title', 'photo']:这行代码指定了表单应该显示字段

    26173

    Django 实现网站注册用户邮箱验证功能

    我们很多网站上都可以看到用户注册使用电子邮件激活或启用的方式。...1. django-registration 安装与设置 使用 pip 安装: pip install django-registration 此模块暂时还不支持 Django2.0 以上版本,建议使用...将 registration 添加到 Django 项目设置 settings.py 的 INSTALLED_APPS 中去,然后 settings.py 设置一个常数,用来指定启用码的天数。...registration_form.html : 显示注册窗体的网页,默认使用 form 变量作为窗体各字段的内容 registration_complete.html : 填写完注册窗体,单击“提交”...至此,我们便完成了 djano-registration 相关设置,点击注册,填写信息后,便在邮箱收到网站的验证邮件信息。 ?

    3K20
    领券