关系数据库

  关系数据库的威力体现在表之间的相互关联。 Django 提供了三种最常见的数据库关系:多对一(many-to-one),多对多(many-to-many),一对一(one-to-one)。

多对一关系 

  Django 使用 django.db.models.ForeignKey 定义多对一关系。 和使用其它Field类型一样:在模型当中把它做为一个类属性包含进来。

  ForeignKey 需要一个位置参数:与该模型关联的类。

  比如,一辆Car有一个Manufacturer — 但是一个Manufacturer 生产很多汽车(Car),每一辆Car 只能有一个Manufacturer — 使用下面的定义:

from django.db import modelsclass Manufacturer(models.Model):# ...passclass Car(models.Model):manufacturer = models.ForeignKey(Manufacturer, on_delete=models.CASCADE)# ...

你还可以创建递归关联关系(与自身具有多对一关系的对象)和与尚未定义的模型的关系;有关详细信息,请参见模型字段参考

建议你用被关联的模型的小写名称做为ForeignKey 字段的名字(例如,上面manufacturer)。 当然,你也可以起别的名字。 例如:class Car(models.Model):company_that_makes_it = models.ForeignKey(Manufacturer,on_delete=models.CASCADE,)# ...

注意:

  在模型类中,一对多,外检模型定义在多的一方。 ForeignKey 字段

提示:

  ForeignKey 字段还接受许多别的参数,在模型字段参考有详细介绍。 这些选项有助于确定关系如何工作;都是可选的。

访问反向关联对象的细节,请见反向查询关联关系的示例。

示例代码,请见多对一关联关系示例。

转载于:https://www.cnblogs.com/Xingtxx/p/11009881.html

django_models_关系一对多相关推荐

  1. sql语句之多表关系 一对多 多对多

    多表的关系介绍 在实际的开发过程中,项目一定是有多张表的,且这些表之间是都有关系的 表与表之间的关系分类:一对一 一对多 多对多 一对一:A表的一行对应B表的一行,反之也成立,此时,两张表可以合并成一 ...

  2. JPA(三)之实体关系一对多(多对一)

     1.背景介绍: 对于购买商品时,订单信息(Order)和订单商品信息(OrderItem)的关系就是一对多的关系. 2.实体bean: Order.java代码 ? 1 2 3 4 5 6 7 ...

  3. mysql表一对多关系,mysql表与表之间的关系(多对多,一对多)

    #创建数据库 CREATE DATABASE day15; #使用 USE day15; #创建表 CREATE TABLE test1( id INT PRIMARY KEY AUTO_INCREM ...

  4. Php Laravel框架 多表关系处理 之 Eloquent一对多关系处理

    Php Laravel框架 多表关系处理 之 Eloquent一对多关系处理 本博文主要介绍 Laravel 框架中 Eloquent  对一对多关系的处理以及在 Laravel Administra ...

  5. Hibernate_2_Hibernate中对象状态及转化_一级缓存_Session详解_HQL/SQL/Criteria_一对多关系_级联操作

    Hibernate中的对象状态 在Hibernate中持久化对象具有三种状态: 瞬时态, 持久态, 游离态. 瞬时态: 对象没有与Hibernate产生关联(transient,session中没有缓 ...

  6. java 一对多、多对多关系示例

    一对多 生活中常见一对多关系的例子,如一个老师教多个学生,一个学生属于一个老师,那么这就是一个典型的一对多关系,可以通过集合进行关系的表示. 定义一个学生类 public class Student ...

  7. mysql好友关系数据表设计_即时通讯数据库好友关系(一对多)应该怎样设计?...

    [MYSQL里面有如下的表  user:id username photo:id name photo_favour(图片收藏关系表):photo_id user_id假设这几个表都相当大,需要进行分 ...

  8. Hibernate笔记整理3(一对多关系,保存删除操作)

    主要是体现数据之间的关系,一对多之间的关系,保存与删除 两个实体类,一个客户,一个联系人,其中是一对多的关系,一个客户可以对应多个联系人,实体类如下,均省略setget,toString等方法: Cu ...

  9. Hibernate映射关系

    为什么80%的码农都做不了架构师?>>>    前言 Hibernate Annotation关系映射有下面几种类型: 一对一外键关联映射(单向) @OneToOne(cascade ...

最新文章

  1. 数据可视化与数据预处理
  2. Arduino产生PWM的3种方法
  3. 关于Hadoop多用户管理支持客户端远程操作的理论总结
  4. 翻译:打造Edge渲染内核的浏览器
  5. Android 3D emulation 架构理解
  6. 读取设置config.ini配置
  7. 解决Windows 7删除执行过的 EXE、Bat文件有延迟的问题
  8. Spring Boot整合批量文件下载功能
  9. day14 Python函数
  10. 项目启动会ppt_项目经理实战篇-项目启动会
  11. 我行贿了 I Paid A Bribe! --印度IPAB中国官方网站 - 民间反腐网站“我行贿了”网址大盘点...
  12. linux sd卡空间,充分利用树莓派中的SD卡空间
  13. 行业发展 | 雷达信号处理领域面临的重大问题
  14. IP66 IP67 防护等级介绍
  15. 质点碰撞和卢瑟福公式
  16. 代理的原理及类型总结
  17. cad文字递增快捷键_史上最全CAD快捷键命令大全(图文版、文字版、键盘版)
  18. 数据结构课程设计(选):连连看
  19. 区块链教程之Bitcoin公钥和地址生成
  20. 如何学计算机打字,电脑如何快速学会打字

热门文章

  1. 总监调岗至前台,企业被判赔偿26万,法院:“侮辱性调岗”违法!
  2. 福利内卷时代来临!腾讯为 3300 名员工发 11 亿红包
  3. 基于crc32实现的内存的代码校验
  4. POJ-3662 Telephone Lines 二分+双端队列
  5. Numba——python面向数组高性能计算库
  6. SylixOS与硬件设备连接问题——硬件设备串口、网口连接问题
  7. C#代码实现把网页文件保存为mht文件
  8. 关于http301与302的技术讨论
  9. Eclipse java反编译插件之jadclipse
  10. UVA 10570 Meeting with Aliens