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

Django Admin -如何从外键嵌入视图

Django Admin是Django框架提供的一个强大的后台管理界面,用于管理和操作数据库中的数据。在Django Admin中,我们可以通过外键嵌入视图来展示和操作与当前模型相关联的其他模型的数据。

要从外键嵌入视图,我们需要进行以下步骤:

  1. 在Django的模型中定义外键关系:首先,在模型中定义外键字段,将其与其他模型关联起来。例如,假设我们有两个模型:AuthorBook,其中Book模型有一个外键字段author,关联到Author模型的主键。
代码语言:txt
复制
from django.db import models

class Author(models.Model):
    name = models.CharField(max_length=100)

class Book(models.Model):
    title = models.CharField(max_length=100)
    author = models.ForeignKey(Author, on_delete=models.CASCADE)
  1. 注册模型到Django Admin:接下来,我们需要将这些模型注册到Django Admin中,以便在后台管理界面中显示和操作相关数据。在admin.py文件中进行注册。
代码语言:txt
复制
from django.contrib import admin
from .models import Author, Book

admin.site.register(Author)
admin.site.register(Book)
  1. 定义内联模型:为了在Django Admin中嵌入外键关联的模型,我们可以使用内联模型。在admin.py文件中定义内联模型。
代码语言:txt
复制
from django.contrib import admin
from .models import Author, Book

class BookInline(admin.TabularInline):
    model = Book

class AuthorAdmin(admin.ModelAdmin):
    inlines = [BookInline]

admin.site.register(Author, AuthorAdmin)
  1. 查看结果:现在,我们可以在Django Admin中查看Author模型的详情页面,同时也会显示与该作者相关联的Book模型的数据。我们可以在Author模型的详情页面中直接添加、编辑和删除与该作者相关的书籍。

这样,我们就成功地从外键嵌入视图,实现了在Django Admin中展示和操作与当前模型相关联的其他模型的数据。

推荐的腾讯云相关产品:腾讯云数据库(TencentDB),腾讯云云服务器(CVM),腾讯云对象存储(COS)等。您可以访问腾讯云官方网站获取更多关于这些产品的详细信息和介绍。

参考链接:

  • Django官方文档:https://docs.djangoproject.com/
  • 腾讯云数据库(TencentDB):https://cloud.tencent.com/product/cdb
  • 腾讯云云服务器(CVM):https://cloud.tencent.com/product/cvm
  • 腾讯云对象存储(COS):https://cloud.tencent.com/product/cos
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

如何使用 Django 更新模型字段(包括字段)

本教程将详细介绍如何通过 Django 更新模型字段,重点讨论了解决字段更新的方法,特别是使用 attrs 方式的实现。1. 简介Django 中的模型是应用程序中管理数据的核心部分。...当模型之间存在关系,特别是关系时,如何有效地更新这些关系是开发人员需要注意的重要问题之一。2. 设计模型我们将以一个简单的案例来说明如何更新模型字段。...下面我们详细探讨这种更新方式:使用 attrs 方式更新字段在 Django 中,可以直接通过设置字段的方式来更新模型中的关联。...高级用法:使用 update() 方法批量更新字段除了直接设置字段,还可以使用 Django 的 update() 方法来批量更新查询集中的对象。...总结与实践建议在本教程中,我们深入探讨了如何使用 Django 更新模型字段,特别是处理字段更新的方法。

22010
  • 知识图谱如何嵌入对未知数据的推:语义证据视图

    当前很多KGE模型能够对未知数据展现出良好的推(extrapolate)性能,即给定一个没有见过的三元组数(h,r,t),模型仍能正确地由 (h,r,?)预测出t ,或由 (?...,h,t)预测出 h,这种推能力令人印象深刻。...但目前⼯作大多关注于设计复杂精巧的三元组建模函数,这只描述了模型是如何刻画已有数据的,并没有告诉我们其是如何推到未知数据的,这不利于我们深入理解KGE模型的运行机制及其实际应用效果。...KGE模型是如何进行推的?2. 如何设计具备更强推能力的KGE模型?...针对问题2,为了更好地利用推信息,作者将三种语义证据融入到邻域模式中,设计了一种新颖的图神经网络模型用于学习知识图谱嵌入表示,称为语义证据感知图神经网络,以更充分的方式对三种语义证据进行了建模。

    50810

    Django ORM

    ORM来创建确立表关系~ ORM创建字段的位置: 一对多:创建在多的一方 一堆一:创建在任何一方都可以,但是推荐创建在查询频率较高的表中 多对多(两种方式): 自己创建第三张表 创建在任何一方都可以...,但是推荐创建在查询频率较高 # 创建书籍表 出版者表 作者表 # 先写表的基本结构,在考虑表关系如何 # 书籍表 class Book(models.Model): name = models.CharField...max_length=32) price = models.DecimalField(max_digits=8, decimal_places=2) # 总共8位 小数占2位 # 作者...Author = models.ManyToManyField(to='Author') # 出版社 Publish = models.ForeignKey(to='Publish...models.Model): name = models.CharField(max_length=32) address = models.CharField(max_length=32) 注意: 不需要写

    4.1K10

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

    of the game, roughly...>, <Entry: In the opening phase of the game, it's important t...>] 为通过关系获取数据...例如, 假设你有模型Pizza和Topping,而Topping通过一个关联到Pizza;如果你有一个名为my_pizza 的对象,表示一张比萨,就可使用代码my_pizza.topping_set.all...URL模式描述了URL是如何设计的,让Django知道如何将浏览器请求与网站 URL匹配,以确定返回哪个网页。 每个URL都被映射到特定的视图——视图函数获取并处理网页所需的数据。...接下来,我们导入了函数url,因为我们需要使用它来将URL映射到视图(见2)。我们还导入了 模块views(见3),其中的句点让Python当前的urls.py模块所在的文件夹中导入视图。...下面的代码演示 了该如何为主页编写视图: from django.shortcuts import render def index(request): """学习笔记的主页""" return

    10910

    Django篇(一)

    简单整理一下思路: 比如一个登陆网页(也就是视图),点击登陆的时候,将账号和密码发送到MVC框架中的控制器(Controller),我们控制器中进行处理,需要去查询数据库,但是这里不会直接去操作数据库...Models中添加一个类: class person(models.Model): # name name = models.CharField(max_length=20) # ...sid = models.ForeignKey('stuinfo') 多表联查有个,我们通过来查询 通过第一张表查询第二张表 s1 = student.objects.get(id =...student.stuname # 查询到stuname值 添加第二张表 s1 = student.objects.get(id = 1) p2 = person() p2.name = '小花' # 需要赋值一个对象...这样写了之后,我们依然可以访问,但是这样的代码不许需要我们来写,在Django中已经封装好了。 我们直接写成: ? 就可以达到和我们之前一样的效果。 4、如何使用views中的参数字典?

    1.1K30

    Django 1.10中文文档-第一个应用Part7-自定义管理站点

    Djangoadmin站点中,自动地将所有的关系展示为一个select框。在我们的例子中,目前只有一个question对象存在。 请注意图中的绿色加号,它连接到Question模型。...每一个包含关系的对象都会有这个绿色加号。点击它,会弹出一个新增Question的表单,类似Question自己的添加表单。...填入相关信息点击保存后,Django自动将该Question保存在数据库,并作为当前Choice的关联对象。通俗讲就是,新建一个Question并作为当前Choice的。...自定义应用模板 聪明的读者可能会问:但是DIRS默认是空的,Django如何找到默认的admin模板呢?...Part3-视图和模板 Django 1.10中文文档-第一个应用Part4-表单和通用视图 Django 1.10中文文档-第一个应用Part5-测试 Django 1.10中文文档

    3.6K60

    Django教程第1章 | 快速入门 | 基础知识

    简介 Django是Python主流的 Web开发框架,功能强大,是Python Web应用开发的第一选择。 使用 Django,您可以在几个小时内完成 Web 应用程序概念到启动的过程。...在 Django 中,模型(Model)表示数据结构,视图(View)负责呈现用户界面,而控制器(Controller)的职责被称为视图(View)。...模板引擎: Django 使用模板引擎来生成 HTML,这使得前端和后端的代码分离更加容易。Django 的模板语言允许开发者在模板中嵌入动态内容。...T 表示模板 (Template):负责如何把页面(html)展示给用户。 V 表示视图(View):负责业务逻辑,并在适当时候调用 Model和 Template。...如果你还不懂Python,去这里学习Python基础:Python入门到精通 安装django非常容易,一行代码搞定: pip install django -i http://pypi.douban.com

    27010

    Django JSONField SQL注入漏洞(CVE-2019-14234)分析与影响

    phith0n').all() 非常简单,和我们正常的queryset完全一样,只不过这里的detail是一个JSONField,而下划线后的内容代表着JSON中的键名,而不再是常规queryset时表示的“...正常情况下,transform一般用来在通过连接两个表,比如.filter(author__username='phith0n')可以表示在author连接的用户表中,找到username字段;...那么,在JSONField中,lookup实际上是没有变的,但是transform“在外表中查找”,变成了“在JSON对象中查找”,所以自然需要重写get_transform函数。...就是如果你能控制filter方法的参数名,就能通过的方式来获取其他表的一些敏感信息。...里,我们将其加入到Django-Admin,也就是Django自带的后台管理应用中: admin.site.register(models.Collection) 此时,进入后台就可以对Collection

    2.1K32

    django框架菜鸟教程_django框架菜鸟教程

    'users.apps.UsersConfig', ] ''' 3、创建视图 创建 # 在views.py中编写视图代码 from django.http import HttpResponse def...'^admin/', admin.site.urls), # django默认包含的 # 添加 url(r'^users/', include('users.urls')), ]...路由解析顺序 Django在接收到一个请求时,主路由文件中的urlpatterns列表中以由上至下的顺序查找对应路由规则,如果发现规则为include包含,则再进入被包含的urls中的urlpatterns...五、类视图与中间件 1、类视图 定义:使用类来定义的视图 好处: 可读性好 更高的复用性 使用 from django.view.generic import View 配置路由时,使用类视图的as_view...子类TabularInline:表格的形式嵌入 子类StackedInline:块的形式嵌入 3、调整站点信息 admin.site.site_header 设置网站页头 admin.site.site_title

    3K40

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

    本文是由马哥教育金牌讲师小智的文字分享《如何快速搭建一个博客》整理而来。 ---- 1.django简介 Django是一个开放源代码的Web应用框架,由Python写成。...1.1 Django的结构模型 层次 职责 模型(Model)数据存取层 处理与数据相关的所有事务: 如何存取、如何验证有效性、包含哪些行为以及数据之间的关系等。...视图(View)表现层 处理与表相关的决定: 如何在页面或其他类型文档中进行显示。 模板(Template),业务逻辑层 存取模型及调取恰当模板的相关逻辑。模型与模板的桥梁。...表之间是否需要进行关联?...fields:允许修改的字段 actions: 禁用的操作 admin.site.register: 关联model和admin 3.2 编写admin 4.djangod的视图 4.1 Django

    2.4K51

    django2实战2.创建博客应用创建应用文章表的字段设计激活应用开启后台将post模型注册到后台自定义文章显示字段增加可选操作

    而淘宝下的聚划算属于一个应用 在django中,一个应用是由模型、视图、模板以及url配置组成的。...: url标识,文章的url格式为:yyyy/mm/dd/slug/, unique_for_date 表示slug与日期的组合是惟一的,即每篇文章的url不可重复 author: 文章作者,此字段是...,与user中相关联,当user表的用户删除时,该用户发表的文章也将被删除 的详细说明 body: 文章详情,使用text类型 publish: 文章发布时间,默认为当前时间 created: 文章创建时间...,auto_now_add 表示当文章创建时,会自动生成该时间 updated: 文章更新时间,当文章被更新时,会自动生成更新的时间 status: 文章状态,STATUS_CHOICES中选取状态值...过滤 下一节将讲解如何使用django的模型查询语句。如果你感兴趣,请关注我的django2实战文集 如果觉得本文对你有所帮助,点个赞,或者赏杯咖啡钱,你的认可对我很重要

    1.1K30

    后端框架学习-Django

    参数=值&参数=值 信息片段:#subject锚点,直接定位到网页指定位置 Django如何处理URL?...创建一对一数据 无的模型类,和之前相同 有的模型类: wife = Wife.objects.create(name=’王夫人’,author = author1(类属性名称绑实例...)) wife = Wife.objects.create(name=’王夫人’,author_id = 1(类属性字段绑值)) 一对一查询 正向查询:查对象 反向查询:对象查 调用反向属性查询到关联的一方...一对多查询 核心:正向属性(authors)和反向属性(book_set) 在多表上设置,关联一表。...无的模型类,和之前相同 有的模型类: 类似上面 wife = Wife.objects.create(name=’王夫人’,author = author1(类属性名称绑实例)

    9.5K40

    四、其它(一)ModelAdmin对象InlineModelAdmin对象重写admin模板Paginator对象Page对象示例

    ,并发生一个异常信息,则会运行自定义的异常处理 三、上传图片 当Django在处理文件上传的时候,文件数据被保存在request.FILES FILES中的每个为<input type="file"...密码 2.在应用内admin.py文件完成注册,就可以在后台管理中维护模型的数据 from django.contrib import admin from models import * admin.site.register...(HeroInfo) 查找admin文件:在INSTALLED_APPS项中加入django.contrib.adminDjango就会自动搜索每个应用的admin模块并将其导入 ModelAdmin...子类TabularInline:以表格的形式嵌入 子类StackedInline:以块的形式嵌入 class HeroInline(admin.TabularInline): model =...(BASE_DIR, 'templates')], Django安装的目录下(django/contrib/admin/templates)将模板页面的源文件admin/base_site.html拷贝到第一步建好的目录里

    4.5K20
    领券