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

如何在Django admin中通过外键链创建内联?

在Django admin中,可以通过外键链创建内联关系,以便在父模型的编辑页面上直接编辑和添加关联的子模型。

要在Django admin中通过外键链创建内联,可以按照以下步骤进行操作:

  1. 在父模型的admin.py文件中导入需要关联的子模型和内联类:from django.contrib import admin from .models import ParentModel, ChildModel class ChildInline(admin.TabularInline): model = ChildModel
  2. 在父模型的admin.py文件中注册父模型,并将内联类添加到父模型的inlines属性中:class ParentAdmin(admin.ModelAdmin): inlines = [ChildInline] admin.site.register(ParentModel, ParentAdmin)

通过以上步骤,就可以在父模型的编辑页面上显示关联的子模型,并可以直接在父模型的编辑页面上进行子模型的添加、编辑和删除操作。

内联类还有一些其他的配置选项,可以根据实际需求进行设置。例如,可以通过extra属性设置默认显示的子模型表单数量,通过fields属性设置在内联表单中显示的字段,通过readonly_fields属性设置只读字段等。

这种通过外键链创建内联的功能在以下场景中非常有用:

  • 当父模型和子模型之间存在一对多的关系时,可以方便地在父模型的编辑页面上同时管理多个子模型。
  • 当需要在父模型的编辑页面上直接查看和编辑关联的子模型的详细信息时,可以避免跳转到子模型的编辑页面。

腾讯云相关产品中,与Django admin的内联功能相关的产品和服务有限,但可以使用腾讯云的云服务器(CVM)来部署Django应用程序,并使用腾讯云的云数据库MySQL版(TencentDB for MySQL)作为Django应用程序的数据库后端。

腾讯云云服务器(CVM)产品介绍:https://cloud.tencent.com/product/cvm

腾讯云云数据库MySQL版(TencentDB for MySQL)产品介绍:https://cloud.tencent.com/product/cdb_mysql

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

相关·内容

Django基表的创建字段属性简介、脏数据概念、子序列化

Django基表的设置 通过图书管理系统引入多表操作:如果我们创建表的方式是先抽象出表与表之间相同的字段建一个父类,然后在用每个表类去继承这个父类,如下面的代码,我们将无法得到期望的表字段。...通过逻辑将A、B表进行连表查询,不会有任何异常。两张表建立了一对一字段,在A表,那么先往B表写数据就更合理。...更合理) """ Django orm中外字段属性详解 在建表之前我们对外字段属性进行了解: 1)related_name在外设置反向查询的字段名:正向找字段名,反向找related_name...子序列化 Django的子序列化的功能是:通过跨表查询数据然后对跨表查到的数据反序列化。...如果涉及到通过进行跨表查询,然后再将查询数据反序列化到前台就需要用到子序列化,比如下面的例子:我们查询出版社信息的时候连带将book表的该出版社所出版过的书名一并查出来。

4.3K30
  • Django 3.1 官网学习路线

    字段还可以有各种可选参数;在本例,我们将投票的默认值设置为 0。 最后,请注意使用定义了关系。这告诉 Django 每个选择都与一个问题相关。...按照惯例,Django 会将"_id"附加到外字段名。(是的,你也可以重写这个。) 关系是通过约束来显式的。...不要担心可延期的部分;它告诉 PostgreSQL 在事务结束之前不要强制执行。...每种类型的字段都知道如何在 Django 管理显示自己。 每个 DateTimeField 都有免费的 JavaScript 快捷。...“添加选择”表单如下所示: 在该表单,“Question”字段是一个选择框,包含数据库的每个问题。Django 知道一个应该在管理中表示为一个框。在我们的例子,目前只存在一个问题。

    8.2K10

    Django Admin后台管理:高效开发与实践

    创建新项目:在命令行,使用django-admin startproject project_name命令创建一个新的Django项目。...激活虚拟环境(可选,推荐):使用venv或virtualenv创建并激活虚拟环境。 配置数据库:在settings.py,设置数据库引擎,DATABASES配置。...添加操作按钮:使用actions属性来添加批量操作,批量删除或标记为已读。 2.5 使用内联模型 内联模型允许在父模型的编辑页面中直接编辑相关联的模型。...使用内联模型:在父模型的Admin添加内联模型,inlines = [RelatedModelInline]。...用户模型:Django提供了一个默认的用户模型,包含用户名、密码和电子邮件等字段。 3.2 用户、组和权限的管理 用户管理:在Django Admin,可以创建、编辑和删除用户。

    16910

    37.Django1.11.6文档

    是非常困难的,因为它会影响和多对多关系。...引用User模型 如果直接引用User(例如,通过引用),在AUTH_USER_MODEL设置已更改为不同用户模型的项目中,代码将不能工作。...我们建议您将此标志设置为False而不是删除帐户;这样,如果您的应用程序对用户有任何,则不会中断。 它不是用来控制用户是否能够登录。 ...例如,您可能希望通过整数字段搜索,或使用外部工具(Solr或Haystack)。您必须确定通过搜索方法实现的查询集更改是否可能在结果引入重复项,并在返回值的第二个元素返回True。...覆盖此方法以编程方式确定最小内联表单数。 例如,这可以基于模型实例(作为关键字参数obj传递)。 使用具有两个或多个的模型与同一个父模型 有时可能有多个到同一个模型。

    24.3K80

    django 模型的计算字段实例

    ') given_name = models.CharField(max_length=20, verbose_name='名') def name(self): # 计算字段要显示在修改页面只能定义在只读字段...class PersonAdmin(admin.ModelAdmin): readonly_fields = ('name',) admin.site.register(Person, PersonAdmin...(Person, PersonAdmin) 补充知识:django何在 search_fields 包含字段 在search_fields中加入一个的名字是不能查询的,要写成(键名__的字段名...)的形式. search_fields = ('attributename','goodsclass__cn') # goodsclass__cn 就可以搜索的名字中有搜索词的条目了, # 比如搜索手机的分辨率...,而不是电脑的分辨率,就可以搜索'手机 分辨率' 以上这篇django 模型的计算字段实例就是小编分享给大家的全部内容了,希望能给大家一个参考。

    4.4K20

    Django安装及简单使用1.5

    你可以在项目的 settings.py 的 INSTALLED_APPS 看到它: NSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth...登录后效果 为了让 admin 界面管理某个数据模型,我们需要先注册该数据模型到 admin。比如,我们之前在 TestModel 已经创建了模型 Test 。...image.png 内联(Inline)显示 上面的 Contact 是 Tag 的外部,所以有外部参考的关系。 而在默认的页面显示,将两者分离开来,无法体现出两者的从属关系。...我们可以使用内联显示,让 Tag 附加在 Contact 的编辑页面上显示。...image.png 我们也可以自定义该页面的显示,比如在列表显示更多的栏目,只需要在 ContactAdmin 增加 list_display 属性: from django.contrib

    95170

    关于“Python”的核心知识点整理大全59

    下面来修改模型Topic,在其中添加一个关联到用户的。这样做后,我们必须对数据库 进行迁移。最后,我们必须对有些视图进行修改,使其只显示与当前登录的用户相关联的数据。 1....的模型User,然后在Topic添加了字段owner,它建 立到模型User的关系。...最简单的办法是,将既有主题都 关联到同一个用户,超级用户。为此,我们需要知道该用户的ID。 下面来查看已创建的所有用户的ID。...然后,我们查看到目前为止都创建了哪些用户 (见2)。输出列出了三个用户:ll_admin、eric和willie。 在3处,我们遍历用户列表,并打印每位用户的用户名和ID。...Django的意思是说,创建新主题时,你必须指定其owner字段的值。 由于我们可以通过request对象获悉当前用户,因此存在一个修复这种问题的简单方案。

    13710

    Django之路由层

    publish = models.ForeignKey(to='Publish') # to用来指代跟哪张表有关系 默认关联的就是表的主键字段 """ 一对多字段创建的时候同步到数据中表字段会自动加...但是建议建在查询频率较高的那一方 author_detail = models.OneToOneField(to='Author_detail') # fk + unique """ 一对一字段创建的时候同步到数据中表字段会自动加...,建议建在查询频率高的一方 一对多字段创建的时候同步到数据中表字段会自动加_id后缀,如果我们手动加了_id orm也会在给我们加一次,所以我们这里不要加_id 多对多关系,django orm会自动帮我们创建书籍和作者的第三张关系表...3.9Django1.x和2.x的版本的路由层区别 1.Django2.x默认的url通过path接收,path的第一个输入值不是正则表达式,里面写的是什么就按什么匹配。...urlpatterns = [ path('admin/', admin.site.urls), ] 2.Django2.x的re_path对应的是Django1.x的url功能相同。

    1.3K21

    Django】当大型项目采用Django框架对于QueryDict以及模板的表单在Admin 管理工具的使用

    在HelloWorld目录创建一个search2.py文件,并使用search_post函数处理post请求: from django.http import HttpResponse from django.shortcuts...当客户发送请求时,可以将数据附加到请求通过解析请求,服务器可以从客户端获取数据,并根据URL提供特定服务。...(Contact, ContactAdmin) admin.site.register([Test, Tag]) 上面的联系人是标记的外部,因此它具有外部引用关系。...在默认页面显示,不能将两者分开以反映其相关性。我们可以使用内联显示将标记附加到联系人的编辑页面。...此时,数据库runoob将为book创建app01_Table。 接下来,我们将视图添加到app01项目Py和模型Py文件app01项目目录结构

    1.7K20

    自定义 Django 管理界面的多对多内联模型

    问题背景在 Django 管理界面,用户可以使用内联模型来管理一对多的关系。但是,当一对多关系是多对多时,Django 提供的默认内联模型可能并不适合。...具体步骤如下:创建一个新的内联模型类。这个类继承自 admin.TabularInline 或 admin.StackedInline。在新的内联模型类,重写 get_formset() 方法。...这个方法负责返回一个表单集,表单集中的每个表单对应于内联模型的一个对象。在 get_formset() 方法,使用 formset_factory() 函数创建表单集。...下面是一个示例代码,演示了如何自定义多对多内联模型的显示方式:from django.contrib import adminfrom django.contrib.admin.utils import...ModelAdmin 类admin.site.register(Invoice, InvoiceAdmin)在上面的代码,我们首先创建了一个新的内联模型类 InvoiceProductFormset

    11510

    DjangoORM操作

    ,其主要目的是为了封装底层SQL语句; 1、字符串类(以下都是在数据库本质都是字符串数据类型,此类字段只是在Django自带的admin中生效) name=models.CharField(max_length....关联表字段,values(字段__关联表字段) 多对多:字段.all() 反向连表操作总结: 通过value、value_list、fifter 方式反向跨表:小写表名__关联表字段...字段就建在子表; 如果B表的1条记录也对应A表N条记录,两表之间就是双向1对多关系,也称为多对多关系; 在orm设置如果 A表设置了字段user=models.ForeignKey('UserType...点到天荒地老 所以可以通过obj..B表的列表跨表操作(注意!!...__列,反向是小写的表名 UserInfo.objects.values_list('nid','ug_id','ug__title') 反向连表: 反向操作无非2种方式: 1、通过对象的形式反向跨表

    4.8K10

    马哥金牌分享 | 十分钟学会用Django快速搭建一个blog

    但是在Django,控制器接受用户输入的部分由框架自行处理,所以Django 里更关注的是模型(Model)、模板(Template)和视图(Views),称为MTV模式。...视图(View)表现层 处理与表相关的决定: 如何在页面或其他类型文档中进行显示。 模板(Template),业务逻辑层 存取模型及调取恰当模板的相关逻辑。模型与模板的桥梁。...02-pyenv-centos/ 3.通过pyenv 安装一个python3.6.2 pyenv install 3.6.2 4.使用pip安装: pip install django==1.11 pip...表之间是否需要进行关联?....Admin 3.1 admin 1.django自带一个admin的后台,只需要简单的配置就能让我们快速的使用,这是django的一个强大之处。

    2.4K51

    Django模型

    这个东西,通常都是在业务逻辑层面来实现的,而不是在数据库实现。但是通常大家学习的数据库课程,都会有数据库设计范式,其中有个第三范式就是专指的约束。在这里只是简单的介绍一下。...下面是另外一个模型,和前面的BookInfo模型通过关联起来。...通过使用models.ForeignKey来设置,ForeignKey的第一个参数是要关联的模型类名,第二个参数是on_delete。...它的常用值可以如下: CASCADE级联,删除主表数据时连通一起删除外数据 PROTECT保护,通过抛出ProtectedError异常,来阻止删除主表中被应用的数据 SET_NULL设置为NULL...设置的时候需要制定另一张表关联的字段,但是在Django里并没有指定。

    1.9K20
    领券