Django admin管理工具TabularInline表格内联

这篇具有很好参考价值的文章主要介绍了Django admin管理工具TabularInline表格内联。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

详解

TabularInline 是 Django Admin 中的一个内联模型选项,用于在父模型的编辑页面中以表格形式显示关联的子模型对象。下面是对 TabularInline 的一些详解:

  1. 显示方式TabularInline 以表格的形式显示子模型对象。每个子模型对象将以一行的形式展示,显示相关字段的值。

  2. 编辑和新增:通过 TabularInline,您可以在父模型的编辑页面中同时编辑和新增与之关联的子模型对象。您可以通过表格的行来编辑现有子模型对象,也可以通过表格底部的空白行来新增新的子模型对象。

  3. 嵌套显示:如果在子模型中还有其他的外键关联模型,您可以使用嵌套的 TabularInline 来进一步显示和编辑这些关联的模型对象。

  4. 指定数量:您可以通过设置 extra 属性来指定要显示的初始表格行数。

下面是一个示例,演示如何使用 TabularInline 来在 Django Admin 中显示和编辑关联的子模型对象:

from django.contrib import admin
from .models import ParentModel, ChildModel

class ChildModelInline(admin.TabularInline):
    model = ChildModel

class ParentModelAdmin(admin.ModelAdmin):
    inlines = [ChildModelInline]

admin.site.register(ParentModel, ParentModelAdmin)

在上述示例中,我们定义了一个名为 ChildModelInlineTabularInline 类,并将它添加到 ParentModelAdmininlines 属性中。这样,当在 Django Admin 后台编辑 ParentModel 对象时,将在同一个页面上显示和编辑相关的多个 ChildModel

通过使用 TabularInline,您可以更方便地在 Django Admin 中管理父子模型之间的关系,提供了更直观和高效的界面来处理关联对象的增删改查操作。

案例

models.py

一个name 对应多个access_key_id

class Name(models.Model):
    name = models.CharField(max_length=100)
    # 其他字段...
    class Meta:
        verbose_name = "名字"
        verbose_name_plural = "名字"

    def __str__(self):
        return self.name

class AccessKey(models.Model):
    access_key_id = models.CharField(max_length=50)
    name = models.ForeignKey(Name, on_delete=models.CASCADE)
    # 其他字段...
    class Meta:
        verbose_name = "密钥ID"
        verbose_name_plural = "密钥ID"

    def __str__(self):
        return self.access_key_id

admin.py

from .models import Name,AccessKey

class AccessKeyInline(admin.TabularInline):
    model = AccessKey

class NameAdmin(admin.ModelAdmin):
    inlines = [AccessKeyInline]
    
admin.site.register(Name, NameAdmin)
admin.site.register(AccessKey)

最终效果如下
一个name可以对应多个key id
Django admin管理工具TabularInline表格内联,python,devops,django,sqlite,数据库
一个key只对应一个name名字
Django admin管理工具TabularInline表格内联,python,devops,django,sqlite,数据库文章来源地址https://www.toymoban.com/news/detail-571583.html

到了这里,关于Django admin管理工具TabularInline表格内联的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Docker管理工具】使用Docker部署portainer-ce管理工具

    Portainer是一个可视化的容器镜像的图形管理工具,利用Portainer可以轻松构建,管理和维护Docker环境。 而且完全免费,基于容器化的安装方式,方便高效部署。 Portainer Community Edition是一个用于容器化应用程序的轻量级服务交付平台,可用于管理 Docker、Swarm、Kubernetes 和 ACI 环境

    2024年02月19日
    浏览(42)
  • 文件管理工具.netcore资源文件管理

    文件管理工具 怎么快速有效的管理我的文件包括文件夹,需求功能是 模糊搜索显示匹配的文件夹或文件数据 快速打开文件夹位置 在windows直接查看搜索速度太慢,范围宽泛,整理所需资源文件名和文件本机路径保存在数据库,可以在数据库中快速检索 显示文件夹路径然后点

    2024年01月23日
    浏览(38)
  • 自动化管理管理工具----Ansible

    目录 ​编辑 一、Ansible概念 1.1特点 二、工作机制(日常模块) 2.1 核心程序 三、Ansible 环境安装部署 四、ansible 命令行模块 4.1command 模块 4.2shell 模块 4.3cron 模块 4.4user 模块 4.5group 模块 4.6copy模块 4.7file模块 4.8hostname模块 4.9ping 模块 4.11yum 模块 4.12service/systemd 模块 4.13script 模块

    2024年02月10日
    浏览(34)
  • 版本管理|Git -目前最好的版本管理工具

    在软件开发中,版本通常指的是代码或项目的一个特定状态或发布的一个特定副本。每次对代码或项目进行修改时,开发团队可以选择增加版本号或标记新版本,以便在未来能够准确追踪和识别不同的代码状态。 在项目根目录下运行 tree命令可以查看文件树,版本是文件树在

    2024年04月11日
    浏览(63)
  • Linux:Ubuntu安装firewalld防火墙管理工具【WSL用UFW防火墙管理工具】

    firewalld防火墙是Centos7系统默认的防火墙管理工具,取代了之前的iptables防火墙,也是工作在网络层,属于包过滤防火墙。 firewalld和iptables都是用来管理防火墙的工具(属于用户态)来定义防火墙的各种规则功能,内部结构都指向netfilter网络过滤子系统(属于内核态)来实现包过

    2024年02月06日
    浏览(35)
  • 不同规模的测试团队分别适合哪些测试用例管理工具?测试用例管理工具选型指南

    随着软件系统规模的持续增大,业务复杂度的持续增加,软件测试的复杂度也随之越来越大。软件测试工作的复杂性主要体现在测试用例的编写、维护、执行和管理方面。而创建易于阅读、维护和管理的测试用例能够显著减轻测试工作的复杂性。 本篇文章将较为系统的探讨测

    2024年02月11日
    浏览(39)
  • Datawhale Django后端开发入门 Vscode TASK02 Admin管理员、外键的使用

    一.Admin管理员的使用 1、启动django服务 使用创建管理员之前,一定要先启动django服务,虽然TASK01和TASK02是分开的,但是进行第二个流程的时候记得先启动django服务,注意此时是在你的项目文件夹下启动的,时刻注意要执行的文件夹。 我这里又重新创建了一个虚拟环境,此时的

    2024年02月12日
    浏览(35)
  • webshell管理工具-antSword(蚁剑)的安装和管理

    中国蚁剑是一款流行的网络安全工具,它由中国安全研究人员研发,主要用于测试和评估网络的安全性。 蚁剑具有强大的功能,可以用于远程控制和管理服务器,包括文件管理、进程管理、端口扫描、SQL注入、WebShell等功能。它还可以在未授权的情况下访问和操纵目标系统,

    2024年02月16日
    浏览(32)
  • 缺陷管理工具--Mantis

    目录 1.Mantis 介绍 2.Mantis的搭建和调试 3.mantis管理视图 3.1 用户管理 1、创建新账户 2、编辑用户 3、重设密码 4、模仿用户 5、删除用户 3.2项目管理 创建新项目 2、编辑项目 3、子项目 4、删除(子)项目 5、添加用户至项目 6、从项目中移除用户 7、分类 8、版本(releaseversion

    2024年02月03日
    浏览(35)
  • KVM管理工具

    KVM的管理工具,一般都对qemu命令进行了封装和功能增强,提供了比原生的qemu命令行更加友好、高效的用户交互接口。 1. libvirt libvirt是目前使用最为广泛的对KVM虚拟机进行管理的工具和应用程序接口,而且一些常用的虚拟机管理工具(如virsh、virt-install、virt-manager等)和云计

    2024年01月17日
    浏览(31)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包