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

如何在Django Admin中显示关系

在Django Admin中显示关系,可以通过以下步骤实现:

  1. 定义模型:首先,在models.py文件中定义相关的模型类。例如,如果有两个模型类A和B,其中A与B存在关系,可以使用外键或多对多字段来表示关系。
  2. 注册模型:在admin.py文件中,通过导入相关的模型类,使用admin.site.register()方法将模型类注册到Django Admin中。
  3. 自定义Admin类:如果需要对关系进行特定的显示和操作,可以创建一个自定义的Admin类,并在admin.py文件中注册该类。在自定义Admin类中,可以使用list_display属性来指定在Admin界面中显示的字段,包括关系字段。
  4. 处理多对多关系:如果存在多对多关系,可以使用filter_horizontal或filter_vertical属性来改善多对多关系字段的显示方式。

以下是一个示例:

代码语言:txt
复制
# models.py
from django.db import models

class B(models.Model):
    name = models.CharField(max_length=50)

class A(models.Model):
    name = models.CharField(max_length=50)
    b = models.ForeignKey(B, on_delete=models.CASCADE)

# admin.py
from django.contrib import admin
from .models import A, B

class AAdmin(admin.ModelAdmin):
    list_display = ('name', 'b')

admin.site.register(A, AAdmin)
admin.site.register(B)

在上述示例中,模型类A与B存在外键关系。在自定义的AAdmin类中,通过list_display属性指定了在Admin界面中显示的字段,包括关系字段b。

这样,在Django Admin中,你将看到A模型的列表视图中显示了关系字段b,并且可以进行相关的操作和筛选。

腾讯云相关产品和产品介绍链接地址:

  • 腾讯云数据库MySQL:https://cloud.tencent.com/product/cdb_mysql
  • 腾讯云对象存储COS:https://cloud.tencent.com/product/cos
  • 腾讯云云服务器CVM:https://cloud.tencent.com/product/cvm
  • 腾讯云人工智能AI:https://cloud.tencent.com/product/ai
  • 腾讯云物联网IoT Hub:https://cloud.tencent.com/product/iothub
  • 腾讯云移动开发移动推送:https://cloud.tencent.com/product/umeng_push
  • 腾讯云区块链BCOS:https://cloud.tencent.com/product/bcos
  • 腾讯云元宇宙QCloud XR:https://cloud.tencent.com/product/qcloudxr
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

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

先说需求: 1、django 自带了admin后管,如果我们需要使用,只需把我们定义的models注册即可; 2、但如果只是简单注册,那显示的很简单,根本看不到每行记录的描述信息,全部以model object...1、显示关键信息 效果如下图,这样就好看多啦。 ? 2、配置 在 admin.py 文件配置一下就行。...admin.py # Underwriter admin model class UnderwriterAdmin(admin.ModelAdmin): # 需要显示的字段信息 list_display...db_table = “user” 自定义表名为user Django 使用admin来管理数据库的内容 Django提供了自带的admin功能,可以很方便的管理网站。...以上这篇django admin后管定制-显示字段的实例就是小编分享给大家的全部内容了,希望能给大家一个参考。

2.8K20

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

在开发中有需求在详情显示里外键字段内容,并且添加按钮弹窗内容,以及按钮跳转内容。...首先先讲解下思路,admin中有几个界面,一个是展示的list界面,一个是详情的model界面,model其实就是详情detail,里面记录了此条数据的全部内容,精简来说就是一个form表单的内容展示...补充知识:Django admin 列表每行后面添加审核按钮 我就废话不多说了,还是直接看代码吧!...在admin的把 pass_audit_str 加入到list_display元组 list_display = (‘id’, ‘create_time’, ‘pass_audit_str’,)...刷新页面即可; 以上这篇在django admin详情表单显示添加自定义控件的实现就是小编分享给大家的全部内容了,希望能给大家一个参考。

4.9K20

Django关系映射

什么是关系映射? 在关系型数据库,通常不会把所有数据都放在同一张表,不易于扩展。...常见的关系映射 一对一映射:例如一个身份证对应一个人 一对多映射:例如一个班级可以有多个学生 一对多映射:例如一个学生可以报考多个课程,一个课程可由多个学生学习....一对一映射(创建) 一对一是表示现实事物间存在的一对一的对应关系。...models.PROTECT:抛出ProtectedError以阻止被引用对象的删除 SET_NULL:设置ForeignKey为Null,需要指定null=True from django.db import...,:每个人都有不同的学校,每个学校都有不同的学生 MySQL创建多对多需要以来第三张表来完成 Django无需手动创建,Django自动完成 语法:在关联的两个类的任意一个类models.ManyToManyField

1.7K20

何在VimVi显示行号

默认情况下,Vim不显示行号,但可以轻松打开它们。Vim支持三种行编号模式,可帮助你浏览文件。除了标准的绝对行编号之外,Vim还支持相对行和混合行编号模式。...相对行号 启用相对行编号后,当前行显示为0,而当前行上方和下方的行将递增编号(1,2,3…等)。 相对行模式非常方便,因为Vim的许多操作(例如上/下移动和删除行)都作用于相对行号。...混合行号 在Vim 7.4及更高版本,同时启用绝对行号和相对行号会设置混合行号模式。 混合行编号与相对行编号相同,唯一的区别是当前行而不是显示0表示其绝对行号。...永久设置 如果希望每次启动Vim时都显示行号,请在.vimrc(Vim配置文件)添加适当的命令。...例如,要启用绝对行编号,应添加以下内容: > vim ~/.vimrc :set number 结论 要在Vim显示行号,请使用:set number命令表示绝对行号,使用:set relativenumber

3.4K10

python测试开发django-19.admin后台自定义显示

前言 djangoadmin后台默认显示的内容很少,只显示了表的相关信息,查看字段内容需点开详情才能查看,不是很直观。...在admin.py文件里面是可以自定义相关的展示内容的,也可以添加搜索框,快速的搜索相关内容 优化列表显示 django的表信息列表显示默认值显示了表的相关属性 ?...如果我们想让表里面的字段内容全部显示出来,需在admin.py文件添加list_display 属性,相关代码如下 # admin.py from django.contrib import admin...', 'psw', 'mail') # 设置显示的字段 # User表 admin.site.register(models.User, ControlUser) admin.site.register...class ControlUser(admin.ModelAdmin): '''自定义列表中栏目 添加list_display 属性''' # 显示的字段 list_display

56420

Django 2.1.7 Admin - 注册模型、自定义显示列表字段

使用Django的管理模块,需要按照如下步骤操作: 1.管理界面本地化 2.创建管理员 3.注册模型类 4.自定义管理页面 1.管理界面本地化 本地化是将显示的语言、时间等使用本地的习惯,这里的本地化就是进行中国化...3.注册模型类 登录后台管理后,默认没有我们创建的应用定义的模型类,需要在自己应用admin.py文件中注册,才可以在后台管理中看到,并进行增删改查操作。...) admin.site.register(ScriptInfo) 到浏览器刷新页面,可以看到模型类的管理了。...4.自定义管理页面 在列表页只显示出了ServerInfo object,对象的其它属性并没有列出来,查看非常不方便。Django提供了自定义管理页面的功能,比如列表页要显示哪些值。...(ServerInfo, ServerInfoAdmin) 刷新ServerInfo的列表页,所有属性都显示出来了 最终assetinfo/admin.py文件代码如下 from django.contrib

1.1K20

django admin 根据choice字段选择的不同来显示不同的页面方式

: 一个含有正则表达式的 url 基于 RBAC 设计表关系: ?...class User(models.Model): class Meta: # 此处设置 admin 显示名称 verbose_name = verbose_name_plural...动态显示菜单权限 动态获取显示菜单,注意本次显示是后台操作 需要获取当前用户的权限信息,获取 url 和 是否为菜单,以及所带的 icon 图标。因为设计到传值的问题,于是我们产生了自定过滤器。...首先自定过滤器 # web.py 文件 from django.utils.safestring import mark_safe from django.template import Library...以上这篇django admin 根据choice字段选择的不同来显示不同的页面方式就是小编分享给大家的全部内容了,希望能给大家一个参考。

2.8K10

Django 图片的上传及显示

Django ,上传文件不同于普通服务器的上传方法,在普通服务器只需要使用一个 Controller 来控制文件的上传即可完成,但是在 Django ,则需要额外使用数据库资源来存储文件。...本文将说明如何使用 Django 接收、保存并且返回图片。...安装完成之后我们需要在 Django 的 settings.py 更改一些设置: # settings.py # 在末尾添加 MEDIA_ROOT = os.path.join(BASE_DIR,...,而是 Django 将会自动将文件上传到你设置的位置,并且把上传之后的图片 path 存入数据库,这样你只需要访问数据库的 path 即可访问到图片。...Url 最后只需要在 url 添加文件上传 view 的 url 即可: # urls.py from django.urls import path from . import views urlpatterns

3.2K20

何在 Django 测试模型表单

clean user_profile = self.instance.user_profile File "/usr/local/lib/python2.7/dist-packages/django...在测试用例,没有为 FilterForm 设置模型实例。...为了解决这个问题,可以在测试用例添加以下代码:filterform = FilterForm()#print filterform.is_valid()form_data = {'keyword':...常见的解决方案涉及遍历并比较两个列表的每个元素,但我们希望探索更具数学性、高效的方法。解决方案集合交集法:一种常用方法是使用集合的交集运算。我们可以将每个列表的坐标视为一个集合,计算它们的交集。...线性方程法:另一种方法是将列表的元素视为线段,使用线性方程求解线段相交点。我们可以构造一个线性方程组,其中每个方程代表列表的一条线段。求解该方程组,可以得到两个线段的交点。

10910

Django 2.1.7 Admin管理后台 - 注册模型、自定义显示列表字段

使用Django的管理模块,需要按照如下步骤操作: 1.管理界面本地化 2.创建管理员 3.注册模型类 4.自定义管理页面 1.管理界面本地化 本地化是将显示的语言、时间等使用本地的习惯,这里的本地化就是进行中国化...3.注册模型类 登录后台管理后,默认没有我们创建的应用定义的模型类,需要在自己应用admin.py文件中注册,才可以在后台管理中看到,并进行增删改查操作。...) admin.site.register(ScriptInfo) 到浏览器刷新页面,可以看到模型类的管理了。...4.自定义管理页面 在列表页只显示出了ServerInfo object,对象的其它属性并没有列出来,查看非常不方便。 Django提供了自定义管理页面的功能,比如列表页要显示哪些值。...(ServerInfo, ServerInfoAdmin) 刷新ServerInfo的列表页,所有属性都显示出来了 最终assetinfo/admin.py文件代码如下 from django.contrib

2.7K40
领券