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

Django Admin站点两个模型使用外键组合成一个模型

Django Admin站点是Django框架提供的一个内置的管理界面,用于管理和操作数据库中的数据。在Django Admin站点中,可以通过定义模型来创建和管理数据库表。

对于两个模型使用外键组合成一个模型的情况,可以通过在模型中定义外键字段来实现。外键字段用于建立模型之间的关联关系,其中一个模型将另一个模型作为外键字段的值。

以下是一个示例,展示了如何使用外键组合两个模型成一个模型:

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

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

class ModelB(models.Model):
    model_a = models.ForeignKey(ModelA, on_delete=models.CASCADE)
    value = models.IntegerField()

在上面的示例中,ModelB模型通过外键字段model_a与ModelA模型建立了关联关系。这意味着每个ModelB对象都会关联到一个ModelA对象。

通过这种方式,我们可以在Django Admin站点中管理和操作这两个模型的数据。在ModelB的管理界面中,可以选择一个已存在的ModelA对象作为外键字段的值,从而将ModelB对象与ModelA对象关联起来。

这种模型之间的关联关系在许多应用场景中非常有用。例如,在一个博客应用中,可以使用外键将文章与作者关联起来,从而实现文章和作者之间的关联关系。

对于这个问题,腾讯云提供的相关产品是腾讯云数据库(TencentDB),它是一种高性能、可扩展的云数据库解决方案。腾讯云数据库支持多种数据库引擎,包括MySQL、SQL Server、PostgreSQL等,可以满足不同应用场景的需求。

腾讯云数据库产品介绍链接地址:https://cloud.tencent.com/product/cdb

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

相关·内容

Django 学习笔记 1.2 模型admin 站点

这是个包含了 Django 项目设置的 Python 模块。 通常,这个配置文件使用 SQLite 作为默认数据库。如果你不熟悉数据库,或者只是想尝试下 Django,这是最简单的选择。...Python 内置 SQLite,所以你无需安装额外东西来使用它。 2 创建模型Django 里写一个数据库驱动的 Web 应用的第一步是定义模型 - 也就是数据库结构设计和附加的其它元数据。...在这个简单的投票应用中,需要创建两个模型:问题 Question 和选项 Choice。Question 模型包括问题描述和发布时间。Choice 模型两个字段,选项描述和当前得票数。...每个模型被表示为 django.db.models.Model 类的子类。每个模型有一些类变量,它们都表示模型里的一个数据库字段。...为了在我们的工程中包含这个应用,我们需要在配置类 INSTALLED_APPS 中添加设置: INSTALLED_APPS = [ 'polls.apps.PollsConfig', 'django.contrib.admin

63310

django模型中有关系的表删除相关设置

0904自我总结 django模型中有关系的表删除相关设置 一.一对一 例如有Author、AuthorDetail两表 author = models.OneToOneField(to='Author...related_name(detail),详情找作者用 字段(author) 3)db_constraint断开表关联,on_delete规定逻辑关联删除动作,models.CASCADE级联删除...,书删除没有任何影响 2)出版社找书用 related_name(books),书找出版社 字段(publish) 3)db_constraint断开表关联,on_delete规定逻辑关联删除动作...,models.DO_NOTHING关联无动作 三.以外字段关联 1)断关联,删除关联表记录,键值置空 db_constraint=False, on_delete=models.SET_NULL...,反向找 字段related_name 3)db_constraint断开表关联,on_delete不存在(不设置,本质在第三张表中设置,且一定是级联)

3K20

Django 学习笔记 | 2、模型

框架, 所以不需要直接面向数据库编程 而是定义模型类, 通过模型类和对象完成数据库表的增删改查 ORM框架就是把数据库表的行与相应的对象建立关联, 互相转换.使得数据库的操作面向对象 使用Django进行数据库开发的步骤...,此时只需要修改定义的那行代码即可。...1.8版本的Django,而我安装的是3.0,Django在2.0版本后,如果定义就需要加上on_delete选项了,OK,接下来,继续运行这两个代码。...使用django站点管理模块步骤: 管理界面本地化 创建管理员 注册模型类 自定义站点管理界面 1、管理界面本地化 将语言,时间设置为本地的语言时间,大陆使用的简体中文,时区使用亚洲/上海时区,修改settings.py...,PeopleInfo admin.site.register(BookInfo) admin.site.register(PeopleInfo) 刷新浏览器页面,即可看到刚添加的两个模型类。

59210

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

在这个表单中,Question字段是一个select选择框,包含了当前数据库中所有的Question实例。Djangoadmin站点中,自动地将所有的关系展示为一个select框。...在我们的例子中,目前只有一个question对象存在。 请注意图中的绿色加号,它连接到Question模型。每一个包含关系的对象都会有这个绿色加号。...点击它,会弹出一个新增Question的表单,类似Question自己的添加表单。填入相关信息点击保存后,Django自动将该Question保存在数据库,并作为当前Choice的关联对象。...通俗讲就是,新建一个Question并作为当前Choice的。 但是,实话说,这种创建方式的效率不怎么样。...快速通道 Django 1.10中文文档-第一个应用Part1-请求与响应 Django 1.10中文文档-第一个应用Part2-模型和管理站点 Django 1.10中文文档-第一个应用

3.6K60

Django框架学习(四)

order_by 1.7关联查询 1、查询和指定对象关联的数据(重点掌握) 由一查多:一对象.多类名小写__set.all() 由多查一:多对象.属性 2、通过模型类进行关联查询 查图书:一类.objects.get...|filter(多类名__字段__条件=值) 查英雄:多类.objects.filter(属性__字段__条件=值) 2.查询集 注意:对于queryset类的对象,可以继续调用之前的任何一个查询函数...3.admin站点 Django框架提供了一个admin站点,可以让用户来管理网站的数据表的内容。...3.1使用 1.语言和时区的本地化 2.创建管理员用户 python manage.py createsuperuser 3.在admin.py中注册模型类 4.自定义admin站点管理页面 1)在admin.py...使用: 1、在配置文件中设置配置项MEDIA_ROOT=‘上传文件的保存目录’ 2、定义模型类时,图片字段的类型使用’imageField’ 3、迁移生成表,并在admin.py注册模型类,直接登录admin

1.5K41

django 1.8 官方文档翻译: 2-5-6 多数据库

这是纯粹的验证操作,和多对多操作使用它来决定两个对象之间是否应该允许一个关联。...这个方法还可以用来决定一个给定数据库上某个模型的可用性。 注意,如果这个方法返回False,迁移将默默地不会在模型上做任何操作。这可能导致你应用某些操作之后出现损坏的、表多余或者缺失。...目前不提供跨多个数据库的或多对多关系的支持。...如果你使用一个路由来路由分离到不同的数据库上,这些模型定义的任何和多对多关联必须在单个数据库的内部。 这是因为引用完整性的原因。...然而,如果你正在使用SQLite 或MySQL的MyISAM 表,则没有强制性的引用完整性;结果是你可以‘伪造’跨数据库的。但是Django 官方不支持这种配置。

1.5K20

测试开发进阶(二十二)

,需要在当前应用下的models.py文件中定义 一个数据库模型类相当于一个数据表(Table) 一个数据库模型类需要基础Model或者其子类 定义的一个类属性,就相当于数据库表中的一个字段( first_name...'你的用户名'@'%' IDENTIFIED BY '你的密码'; 我这边使用 GRANT ALL PRIVILEGES ON * . * TO 'my_django'@'%' IDENTIFIED BY...后台站点 注册站点 projects/admin.py from django.contrib import admin from .models import Projects, Person admin.site.register...', ] 在 interfaces/models.py中编写 *一个项目中有多个接口 那么需要在「多」的一侧创建 * 项目表为父表「一」,接口表为「多」子表 class Interfaces(models.Model...Projects 第二个参数 设置的是:当父表删除之后,该字段的处理方式 models.CASCADE:子表也会被删除 models.SET_NULL:当前会被设置为None models.PROTECT

63130

Django 1.10中文文档-第一个应用Part2-模型和管理站点

(你也可以重写这个行为); 按照惯例,Django会在外的字段名后面添加 "_id"。(你依然可以重写这个行为); 关系由FOREIGN KEY约束显式声明。...不用在意DEFERRABLE部分;它只是告诉PostgreSQL直到事务的最后再执行关联; 这些SQL语句是针对你所使用的数据库定制的,所以会为你自动处理某些数据库所特有的字段例如auto_increment...Django admin管理站点介绍 为您的员工或客户生成管理网站用来添加,更改和删除内容是繁琐的工作,不需要太多的创造力。因此,Django完全自动创建模型的管理界面。...使应用在管理站点可编辑 现在你还无法看到你的投票应用,必须先在admin中进行注册,告诉admin站点,请将poll的模型加入站点内,接受站点的管理。...你将看到一个页面,列出了通过Django管理界面对此对象所做的全部更改的清单,包含有时间戳和修改人的姓名等信息: ? 到此,你对模型API和admin站点有了一定的熟悉,可以进入下一阶段的教程了。

2.3K60

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

继上篇 django2实战1.初识django 创建应用 上篇创建了一个项目,项目相当于站点,应用即是独立的功能模块。比如:淘宝是一个完整的网站,即是一个项目。...而淘宝下的聚划算属于一个应用 在django中,一个应用是由模型、视图、模板以及url配置组成的。...# 将模型注册到站点管理后台 ├── apps.py # 应用的主配置 ├── migrations # 数据库迁移文件 │ └── __init__.py ├── models.py # 模型文件...,与user中相关联,当user表的用户删除时,该用户发表的文章也将被删除 的详细说明 body: 文章详情,使用text类型 publish: 文章发布时间,默认为当前时间 created: 文章创建时间...过滤 下一节将讲解如何使用django模型查询语句。如果你感兴趣,请关注我的django2实战文集 如果觉得本文对你有所帮助,点个赞,或者赏杯咖啡钱,你的认可对我很重要

1K30

Django模型

站点中显示的名称 注意 模型类如果未指明表名,Django默认以小写app应用名_小写模型类名为数据库表名,一般我们会通过db_table指明数据库表名。...django会为表创建自动增长的主键列,每个模型只能有一个主键列,如果使用选项设置某属性为主键列后django不会再创建自动增长的主键列。...下面是另外一个模型,和前面的BookInfo模型通过关联起来。...二元组的第一个值会储存在数据库中,而第二个值将只会用于在表单中显示。对于一个模型实例,要获取该字段二元组中相对应的第二个值,使用 get_FOO_display() 方法。...:通过使用models.ForeignKey来设置,ForeignKey的第一个参数是要关联的模型类名,第二个参数是on_delete。

1.9K20

【云+社区年度正文】Django从入门到精通No.2----模型

django从入门到精通No.2----模型 一、前言 学过orm系统自然之道模型的重要性,很多web站点都需要与数据库交互,这个时候模型的设计就显得尤为重要,一个好的模型会使得项目方便管理并且易于维护...必填参数primary_key=True,则成为数据库的主键,无该字段时,django自动创建,一个model不能有两个该字段。...1.多对一 因为是关联关系,所以我们必须指定两个类来进行相互操作,这里涉及到一个的操作,即ForeignKey字段,而且要定义在多的一方。...db_constraint=True # 是否在数据库中创建约束 parent_link=False # 在Admin中是否显示关联数据 2.多对多 多对多的表...,必须设中间关联表,关联表设独立主键,并引入两个“多”头的表的主键作为关联表的

2.1K00

django models.py(python和django)

verbose_name='描述信息') brand = models.ForeignKey(Brand, on_delete=models.CASCADE, verbose_name='品牌') # ...admin.py from django.contrib import admin from .models import Goods, Brand # Register your models here...admin.site.register(Brand) admin.site.register(Goods) 1) 数据库表名 模型类如果未指明表名,Django默认以小写app应用名_小写模型类名为数据库表名...2) 关于主键 django会为表创建自动增长的主键列,每个模型只能有一个主键列,如果使用选项设置某属性为主键列后django不会再创建自动增长的主键列。...聚合函数包括:Avg平均,Count数量,Max最大,Min最小,Sum求和 例如:查询所有商品的总数量 2.8mysql中的排序 2.9关联查询 回顾一下表与表的关系,goods表有 brand

1K10

Django&DRF重点内容大盘点

, verbose_name='图书') # cascade是级联,删除主表数据时连同表中数据一起删除 1.12.3迁移生成表 1)生成迁移文件 python manage.py makemigrations...(heroinfo__hcomment__contains='八') 查英雄(多) 多类.objects.filter(属性__字段__条件=值) 例:heros...= HeroInfo.objects.filter(hbook__bread__gt=30) 1.13admin站点 上传图片Django自带文件存储系统,可以直接通过Admin站点进行图片的上传,默认上传的文件保存在服务器本地...使用 1)在配置文件中设置配置项MEDIA_ROOT='上传文件的保存目录' 2)定义模型类时,图片字段的类型使用 ImageField 3)迁移生成表并在admin.py注册模型类,直接登录Admin...站点就可以进行图片上传 2.DRF框架 2.1目的 利用DRF框架快速的实现RestAPI接口的设计 2.2RestfulAPI接口设计风格 关键点 1)url地址尽量使用名词,不要使用动词 2)请求url

5.9K20

Django相关知识点回顾

class Meta: db_table = '' 定义属性: # 表中外字段名格式: hbook = models.ForeignKey('BookInfo...# 由1查多 一对象.多类名小写_set.all() 例:book.heroinfo_set.all() # 由多查1 多对象.属性 例:hero.hbook 2.通过模型类进行关联查询 # 查图书...查询结果的缓存 使用一个查询集时,只有在第一次使用查询集时会进行数据库的查询操作,然后Django框架就会把查询的结果存起来,下一次再使用这个查询集时,使用Django之前存储的结果。...以上内容详细介绍请看文章『我是个链接』 ---- 14.Admin站点 Django自带文件存储系统,可以直接通过Admin站点进行图片的上传,默认上传的文件保存在服务器本地。...使用 1.在配置文件中设置配置项MEDIA_ROOT='上传文件的保存目录' 2.定义模型类时,图片字段的类型使用 ImageField 3.迁移生成表并在admin.py注册模型类,直接登录Admin

10K51

【愚公系列】2022年01月 Python教学课程 40-Django框架之模型属性详解

文章目录 一、模型类定义 二、模型类迁移 总结 ---- 一、模型类定义 在models.py 文件中定义模型类,示例如下: from django.db import models # Create...站点中显示的名称 def __str__(self): """定义每个数据对象的显示信息""" return self.name # 准备人物列表信息的模型类...2) 关于主键 django会为表创建自动增长的主键列,每个模型只能有一个主键列,如果使用选项设置某属性为主键列后django不会再创建自动增长的主键列。...AutoField的选项使用 unique 如果为True, 这个字段在表中必须有唯一值,默认值是False null是数据库范畴的概念,blank是表单验证范畴的 6) 在设置时,需要通过...on_delete选项指明主表删除数据时,对于引用表数据如何处理,在django.db.models中包含了可选常量: CASCADE级联,删除主表数据时连通一起删除外表中数据 PROTECT保护

1.4K20

django_mysql_配置

在自己数据中创建一个djangi_demo create database django_demo default charset=utf8; ---- 定义模型类 1....,Django默认以 小写app应用名_小写模型类名 为数据库表名。...2) django会为表创建自动增长的主键列,每个模型只能有一个主键列,如果使用选项设置某属性为主键列后django不会再创建自动增长的主键列。...null是数据库范畴的概念,blank是表单验证范畴的 5) 一般我用CASCADE 在设置时,需要通过on_delete选项指明主表删除数据时,对于引用表数据如何处理,在django.db.models...中包含了可选常量: CASCADE 级联,删除主表数据时连通一起删除外表中数据 PROTECT 保护,通过抛出ProtectedError异常,来阻止删除主表中被应用的数据 SET_NULL

1.6K10

37.Django1.11.6文档

但有一个例外,对于ForeignKey你可以使用字段名加上_id 后缀。 在这种情况下,该参数的值应该是的原始值。...它会生成一个复杂的查询并引起性能的损耗,但是在以后使用关系时将不需要数据库查询。...InlineModelAdmin.fk_name 模型上的的名称。 在大多数情况下,这将自动处理,但如果同一父模型有多个,则必须显式指定fk_name。...例如,这可以基于模型实例(作为关键字参数obj传递)。 使用具有两个或多个模型与同一个模型 有时可能有多个到同一个模型。 ...请注意,使用此技术时,不会触发m2m_changed信号。 这是因为,就管理而言,through只是一个具有两个字段而不是多对多关系的模型

24.3K80

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券