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

django 模型关系

模型关系 关系数据库的威力体现在表之间的相互关联,Django提供了三种最常见的数据库关系:多对一 (many-to-one),多对多(many-to-many),一对一(one-to-one)...多对一关系 多对多关系 一对一关系 多对一 django是使用django.db.models.ForeignKey 定义多对一关系 ForeignKey需要一个位置参数来指定本Model关联的Model...,ForeignKey关联的Model 是"一", ForeignKey所在的Model是"多" 比如汽车和制造商的例子,一辆汽车只能属于一个制造商,但是一个制造商有多辆汽车,这个关系,用Django...ManyToManyField 的名字 在哪个模型中设置 ManyToManyField 并不重要,在两个模型中任选一个即可——不要在两个模型中都设置 一对一 一对一是通过django.db.models.OneToOneField...来实现的,被关联的Model会被加上 Unique的限制,OneToOneField要一个位置参数,与模型关- 联的类 当某个对象想扩展自另一个对象时,最常用的方式就是在这个对象的主键上添加一对一关系

1.4K30

Django基础篇-模型关系

一对多表关系 在 Mysql 中一对多是通过外键实现的,在 django 模型中通过 ForeignKeyField 类型实现。...框架篇-Django博客应用-更新首页 一对一表关系 在 Mysql 中一对一是通过外键加唯一键实现的,在 django 模型中通过 OneToOneField 类型实现。...多对多表关系 在 Mysql 中多对多是通过中间表外键加联合唯一键实现的,在 django 模型中通过 ManyToManyField 类型实现。中间表模型会自动创建。...例子: 学院---学生---课程---学生成绩 学院与学生一对一关系,学生与课程多对多关系 课程 学生成绩 关系表中数据的操作 : 同级目录下的 views.py from django.http import...Course def add_info(request): # 新增部门 d1 = Department(d_name='IT') d1.save() # 一对多关系添加内容

84630
您找到你想要的搜索结果了吗?
是的
没有找到

数据库模型关系

则从表外的字段的值 设置为null 一定将这个字段 设置为null=True models.SET_DEFAULT 默认值模式 二、一对一 说明 使用OneToOneField创建1对1的模型关系...将要创建对应关系模型添加OneToOneField 使用场景 表的字段太多,需要拆分 关系的位置 哪张表都可以 创建模型 User和IdCard 创建模型 User <span class="hljs-comment...IdCard 并添加<em>模型</em>一对一<em>关系</em> OneToOneField #1对1的表<em>关系</em> <...将要创建对应<em>关系</em>的<em>模型</em>添加ForeignKey <em>关系</em>的位置 写在多的那一端 创建<em>模型</em> grade和students #班级表 <span...将要创建对应<em>关系</em>的<em>模型</em>添加ManyToManyField 原理 底层是通过两个外键实现,单独有一张表来管理外键,自动生成 <em>关系</em>的位置 哪张表都可以 创建<em>模型</em> User和Posts <span class

2.7K10

python-Django-Django 模型层的关联关系(一)

Django是一个流行的Python Web框架,其模型层允许开发人员定义数据库模型以及它们之间的关系。...这些关系被称为模型关联关系,允许开发人员在不同的模型之间建立复杂的关联关系,从而实现更高级别的数据结构。一对一关系一对一关系是指两个模型之间存在唯一的对应关系。...在Django中,可以使用OneToOneField字段来定义一对一关系。...一对多关系一对多关系是指一个模型可以对应多个另一个模型的实例。在Django中,可以使用ForeignKey字段来定义一对多关系。...多对多关系多对多关系是指两个模型之间存在多个对应关系。在Django中,可以使用ManyToManyField字段来定义多对多关系

67310

数据库关系模型

关系模型的数据结构:以二维表的形式表示实体和实体之间联系的数据模型。其是一张规范化的二维表,它由表名,表头和表体三部分构成。 2.关系模型:分量:每一行对应的列的属性值,即为元组中的一个属性值。...3.关系模式:关系模式是对关系的描述,是关系模型的“型”,一般表示为:关系名(属性1,属性2,属性n) 4.关系模型的数据操纵主要包括查询,插入,删除和修改。...5.关系模型中的数据操纵是集合操作,操作对象和操作结果都是关系,即若干元组的集合。...关系模型把对数据的存取路径隐藏起来,用户只要指出干什么,而不必详细说明怎么干,从而大大的提高了数据的独立性,提高了用户操作效率。...关系模型的优点:有严格的数学理论依据,数据结构简单,清晰,用关系描述实体及其联系,具有更高的数据独立性,更好的安全保密性,其缺点是查询效率不如非关系模型

64320

django-模型之(ORM)对象关系映射(一)

所谓对象关系映射,就是将数据库的一些名字与python中的一些名字相对应,表名-->类名,字段-->属性,操作(增删改查)-->方法。这样,我们就可以通过对Python代码的编辑来对数据库进行操作。...流程:创建models,通过models创建迁移文件(makemigrations),通过迁移文件映射到数据库中。...book/models.py from django.db import models # Create your models here. class Student(models.Model):...StudentAdmin(admin.ModelAdmin): list_display = ['id','name','age','gender','is_deleted','introduce'] #将模型进行注册...最后,我们将数据库里面的内容传到前台页面: book/views.py from .models import Student from django.shortcuts import render def

51420

Django 之 Models(Models 模型 & 数据表关系

欢迎阅读本专栏其他文章 Django 之路由篇 Django 之视图篇 Django 之模板篇 Models 模型 ORM --- ObjectRelationMap...的子类 class 中的所有属性对应表格中的字段 字段的类型都必须使用 modles.xxx 不能使用python中的类型 在django中,Models 负责跟数据库交互 django连接数据库 自带默认数据库...Sqlite3 关系数据库 轻量级 建议开发用splite3,部署用mysql之类数据库 切换数据库在settings中进行设置 # django 连接 mysql...使用 objects 属性操作数据库,objects 是模型中实际和数据库进行交互的 Manager 类的实例化对象 4....:在模型任意一边即可,使用OneToOneFieldadd 添加没有关系的一边,直接实例化保存就可以 s = School() s.school_id = 2

2.3K87

Django模型(数据库)及Django Query常用方法

Django模型(数据库)及Django Query常用方法 Django 模型是与数据库相关的,与数据库相关的代码一般写在 models.py 中,Django 支持 sqlite3, MySQL,...那project和app什么关系呢? 一个项目一般包含多个应用,一个应用也可以用在多个项目中。...创建数据表 我们来同步一下数据库(我们使用默认的数据库 SQLite3,无需配置) 先 cd 进入 manage.py 所在的那个文件夹下,输入下面的命令 # Django 1.6.x 及以下 python...QuerySet API中有特殊含义(用于关系,包含,不区分大小写,以什么开头或结尾,日期的大于小于,正则等) 也不能有Python中的关键字,name 是合法的,student_name 也合法,...前三种方法返回的都是对应的 object,最后一种方法返回的是一个元组,(object, True/False),创建时返回 True, 已经存在时返回 False 当有一对多,多对一,或者多对多的关系的时候

2.5K40

数据库模型设计——关系的实现

在实体关系模型中,我们知道有三种关系:一对一、一对多、多对多。...这只是概念上的关系,但是在真实的关系数据库中,我们只有外键,并没有这三种关系,那么我们就来说一说在关系数据库管理系统中,怎么实现这三种关系。 一对多 这里先讲解一对多,因为这个关系最简单。...多对多 多对多的关系数据库设计时比一对一要常见,所以这里先说说多对多。多对多是一个对象A对应多个对象B,从B角度看,一个对象B也会对应多个对象A。比如说学生和课程的关系就是多对多关系。...,我们可以单独建立一个选课ID的列作为数据库的主键,该主键本身并没有业务含义。...一对一的关系数据库设计中,是使用的最少的关系,因为一般来说,如果两个实体是一对多关系,那么我们也可以把这两个实体合并成一个实体。但是在设计中,我们仍然会遇到两个完全不同的实体,之间存在一对一关系

63210

数据库系统关系模型概念

关系模型简述 关系模型就是处理TABLE,它由三部分组成:  描述DB各种数据的基本结构形式(Table/Relation)  描述Table与Table之间所可能发生的各种操作(关系运算)  描述这些操作所应遵循的约束条件...(完整性约束) 关系模型的三个要素 完整性约束: 实体完整性、参照完整性和用户自定义的完整性 实体完整性  关系的主码中的属性值不能为空值;  空值:不知道或无意义的值;  意义:关系中的元组对应到现实世界相互之间可区分的一个个个...参照完整性 如果关系R1的外码Fk与关系R2的主 码Pk相对应,则R1中的每一个元组的 Fk值或者等于R2 中某个元组的Pk 值, 或者为空值 意义:如果关系R1的某个元组t1参照 了关系R2的某个元组...t2,则t2必须存在 例如关系Student在D#上的取值有两 种可能: 空值,表示该学生尚未分到任何系中 若非空值,则必须是Dept关系中某个 元组的D#值,表示该学生不可能分到一 个不存在的系中

1.4K40

创建 Django 博客的数据库模型

下面分别是分类和标签的数据库表: 分类 id 分类名 1 Django 2 Python 标签 id 标签名 1 Django 学习 2 Python 学习 编写博客模型代码 以上是自然语言描述的表格...这是分类与标签,分类与标签的模型我们已经定义在上面。我们把文章对应的数据库表和分类、标签对应的数据库表关联了起来,但是关联形式稍微有点不同。...希望这个例子能帮助你加深对多对一关系,以及它们在数据库中是如何被关联的理解,更多的例子请看文末给出的 Django 官方参考资料。...4 标签 ID 标签名 1 Django 学习 2 Python 学习 文章 ID 标签 ID 1 1 1 2 2 1 3 2 多对多的关系无法再像一对多的关系中的例子一样在文章数据库表加一列...希望这个例子能帮助你加深对多对多关系,以及它们在数据库中是如何被关联的理解,更多的例子请看文末给出的 Django 官方参考资料。

1.3K60

数据库】02——关系模型是什么东东

关系数据库理论、数据库应用的设计与开发…) 2.大数据分析(大数据存储系统,键值存储,Nosql系统,MapReduce,Apache Spark,流数据和图数据库等…) 3.数据库系统的实现技术...:关系模型依旧是现代商用数据处理应用的主要数据模型,它半个多世纪不断融合各种新特点和功能,一直沿用至今。...学习关系模型有利于后续我们进行关系数据库设计模式的学习。...6.7 更名运算 6.8 等价查询 6.9 其他关系运算 1关系数据库的结构 关系数据库由表的集合构成。...表中的一行数据就代表了一组值之间存在某种联系,这和数学上关系概念有着密切的联系,这也正是关系数据模型名称的由来。在数学中,一组值被看做一个元组。n个值之间的一种联系在数学上用这些值得一个n元组表示。

78720

数据库关系模型介绍「建议收藏」

本篇文章是数据库系列的第一篇文章,本系列文章是笔者在学习《数据库系统概念》这本书总结的内容,使用的数据库是MySQL。 关系数据库的结构 关系数据库由表(table)的集合构成,每个表由唯一的名字。...表中的一行代表了一组值之间的联系,而表就是这种联系的一个集合,表这个概念和数学上的关系概念是密切相关的,这也是关系数据模型名称的由来。...在关系模型的术语中,关系(relation)用来指代表,元组(tuple)用来指代行,属性(attribute)指代表中的列。...数据库模式 数据库模式(database schema)是数据库的逻辑设计,而数据库实例(database instance)是给定时刻数据库中数据的一个快照。...主码(primary key)来表示被数据库设计者选中的、主要用来在一个关系中区分不同元组的候选码。码是整个关系的一种性质,而不是单个元组的性质。

1.2K20

关系数据库模型设计「建议收藏」

(四)小结 二、数据模型(数据世界) (一)层次模型 (二)网状模型 (三)关系模型 ---- 三个世界的划分 人们把客观存在的事物以数据的形式存储到计算机中,经历了对现实生活中事物特性的认识、概念化到计算机数据库里的具体表示的逐级抽象过程...实体关系模型是现实世界到概念世界的第一层抽象,是数据库设计人员进行数据库设计的有利的数据建模工具,也是数据库设计人员和用户之间进行交流的语言。...(4)层次模型的优点 ① 层次数据库模型比较简单。 ② 层次模型对具有一对多的层次关系(例如部门和职员的关系)的描述非常自然、直观,容易理解。 ③ 层次数据库模型提供了良好的完整性支持。...如图所示: 关系数据库采用关系模型作为数据的组织方式。关系数据库因其严格的数学理论、使用简单灵活、数据独立性强等特点,而被公认为最有前途的一种数据库管理系统。...在设计关系数据库表的时候,你应该总是要遵循这五大范式。

1.1K20
领券