Django(part35)--多对多映射
学习笔记,仅供参考
文章目录
- 数据表关联关系映射
- 多对多映射
- 查询
- 添加数据
数据表关联关系映射
多对多映射
多对多表现了对象之间多对多的复杂关系,如: 每个人都有不同的学校(小学,初中,高中,…),每个学校都有不同的学生。
- 语法
#在关联的两个类中的任意一个类中,增加:
属性 = models.ManyToManyField(Entry)
- 示例
#一个作者可以出版多本图书
#一本图书可以被多名作者同时编写class Author(models.Model):name = models.CharField('作家', max_length=50)class Book(models.Model):title = models.CharField('书名', max_length=50)authors = models.ManyToManyField(Author)
查询
- 通过 book 查询对应的所有的 authors
#可以通过authors表示对应所有Author的查询对象book.authors.all()
#获取 book 对应的所有的author的信息book.authors.filter(age__gt=50)
#获取book对应的author中年龄大于50岁的作者的信息
- 通过 author 查询对应的所有的books
#author会生成一个属性 book_set 用于对book查询对象进行相关操作
author.book_set.all()
author.book_set.filter()
author.book_set.create(...) # 创建新书并联作用author
author.book_set.add(book) # 添加已有的书为当前作者author
author.book_set.clear() # 删除author所有并联的书
author.book_set.remove() # 删除所author所有并联的书
添加数据
from bookstore import models
author1 = models.Author.objects.create(name='黄老师')
author2 = models.Author.objects.create(name='王老师')book1 = author1.book_set.create(title="Python")
#创建新书并关联黄老师
author2.book_set.add(book1)
#添加Python到王老师名下
Django(part35)--多对多映射相关推荐
- Nhibernate 3.0 cookbook学习笔记 一对多与多对多映射
1 一对多映射 还是用Movie与ActorRole来说明.我们假设一个Movie可以有多个ActorRole,而一个ActorRole只能对应一个Movie. 设置一对多映射主要是父类(Movie) ...
- hibernate多对多映射拆成2个一对多映射(注解)
hibernate的many to many确实很是方便我们处理实体和集合间的关系,并可以通过级联的方法处理集合,但有的时候many to many不能满足我们的需要,比如 用户<---> ...
- 【Hibernate步步为营】--多对多映射详解
上篇文章详细讨论了一对多映射,在一对多映射中单向的关联映射会有很多问题,所以不建议使用如果非要采用一对多的映射的话可以考虑使用双向关联来优化之间的关系,一对多的映射其实质上是在一的一端使用<ma ...
- Hibernate多对多映射 - 连接表
Hibernate多对多映射 - 连接表 今天我们将使用XML和注释配置来研究Hibernate多对多映射.之前我们看过如何在Hibernate中实现One To One和One To Many映射. ...
- Mybatis(四) 高级映射,一对一,一对多,多对多映射
天气甚好,怎能不学习? 一.单向和双向 包括一对一,一对多,多对多这三种情况,但是每一种又分为单向和双向,在hibernate中我们就详细解析过这单向和双向是啥意思,在这里,在重复一遍,就拿一对多这种 ...
- hibernate 映射表_Hibernate多对多映射-连接表
hibernate 映射表 Today we will look into Hibernate Many to Many Mapping using XML and annotation config ...
- mybatis多对一映射association详解
简单映射(一对一) 多对一映射 方式1:按照查询嵌套处理 方式2:按照结果嵌套处理 简单映射(一对一) mybatis结果集映射ResultMap 多对一映射 我们有2个类,一个班级类ClassRoo ...
- Mybatis - 一对多/多对一映射
文章目录 前言 项目结构 一.数据库表 1. 员工表 t_emp 2. 部门表 t_dept 二.实体类 1. Emp 员工实体类(添加多对一属性) 2. dept 部门实体类(添加一对多属性) 三. ...
- 【Mybatis高级映射】一对一映射、一对多映射、多对多映射
前言 当我们学习heribnate的时候,也就是SSH框架的网上商城的时候,我们就学习过它对应的高级映射,一对一映射,一对多映射,多对多映射.对于SSM的Mybatis来说,肯定也是差不多的.既然开了 ...
最新文章
- 服务器免密码传输文件,CentOS7,使用 scp 命令, ssh 连接方式,免密码传输文件到远程服务器,免密执行远程服务器上的 shell 脚本...
- Linux Java Web 服务器搭建之tomcat安装
- 资源共享冲突问题概述
- bios免电池补丁_补丁和权限 处理器漏洞多大这样看
- 大额存款到期,银行不能给兑付怎么办?
- Java压缩技术(五) GZIP相关——浏览器解析
- 弹射王服务器正在维护中,《弹射王》IOS版合服公告-1.7
- 苹果为 macOS 重大漏洞道歉;迅雷内讧股价暴跌;小米百度在一起 | 一周业界事
- atitit.web 推送实现方案集合(2)---百度云,jpush 极光推送 ,个推的选型比较.o99
- 萨里大学计算机博士申请,4.11微分享丨本科直博拿下港中文CSE全奖博士,师兄带你敲开申请大门...
- java 鸡尾酒排序_十大经典排序【Java实现,手工作坊式】
- 如何转换成Ogg和MPEG4格式
- Excel和WPS 下设置多种不同条件的条件格式
- JavaScript高级程序设计读书笔记(第6章面向对象的程序设计之创建对象)
- SQL:开窗函数(窗口函数)
- 手写签名插件—jSignature使用心得
- Linux使用Java将C++程序发布为webservice(wsdl)
- HTTP请求转发那些事:你可能不知道的Hop-by-hop Headers和End-to-end Headers
- asp.net模糊查询
- 如何看待抖音被降权限流,该怎么挽回账号权重丨国仁网络资讯