Django的关系映射
1.一对一
夫妻场景,众所周知,一夫一妻
class Husband(models.Model):name = models.CharFiled('名字',default='')wife = models.OneToOneFiled(Wife,on_delete=xx)class Wife(models.Model):name = models.CharFiled('名字',default='')
创建类:
#先创建无外建模型类
wife = Wife.ocjects.create(name='赵怡贤')
husband = Husband.objects.create(name='小源',wife=wife)
#也可以是:
#husband = Husband.objects.create(name='小源',wife_id=1)
查询
#正向查询
husband = Husband.objects.get(name='李小源')
print("%s的老婆是%s")%(husband.name,husband.wife.name)#反向查询
wife = Wife.objects.get(name='赵怡贤')
print("%s的老公是%s")%(wife.name,wife.husband.name)
2.一对多
学校和学生之间的场景
class school(models.Model):name = models.CharFiled('名字',max_length=10,default='')class student(models.Model)name = models.CharFiled('名字',max_length=10,default='')school = models.ForeginKey(school,on_delete=xx)#Foregin必须指定on_delete模式
先创建“一”再创建“多”
scl = school.objects.create(name='青青草原学园')
stu = studnet.objects.create(name='懒羊羊大王',school=sc1)
stu2 = student.objects.create(name='沸羊羊天王',school_id=1)
查询
#正向查询
stu = student.objects.get(id=1)
stu.school#反向查询
scl = school.objects.get(id=1)
scl.student_set().all()
3.多对多
class Book(models.Model):title = models.CharFiled('书名',max_length=20,default='')class Author(models.Model):name = models.CharFiled('名字',max_length=20,default='')books = models.ManyToManyField(Book)
ps:如果是刚加入类中,需要执行
python manage.py makemigrations
python manage.py migrate
相互添加
author = Author.objects.create(name='断牙啦')
author2 = Author.objects.create(name='断牙咯')
book = User.objects.crate(tltle='百兵')
book2 = User.objects.crate(tltle='百兵2')author.books.add(book)
author.books.add(book2)
book.author_set(author) #author_set()名字来源于对应的类名全小写+_set()author.myBooks.all()#所有的书籍
author.myBooks().filter(price_gt=10) #价格大于10的书籍book.author_set.all() #反向查询
book.author_set.filter()
Django的关系映射相关推荐
- Django day06 关系映射
目录 1.关系映射 1.一对一映射 2.一对多映射 3.多对多映射 练习代码https://blog.csdn.net/zh__quan/article/details/82155617 1.关系映射 ...
- pathon Django的关系映射
一对一 [创建] 一对一是表示现实事物间存在的一对一的对应关系. 特殊字段选项 [必须] on_delete - 级联删除 更多参考 模型字段参考 | Django 文档 | Django ...
- Django的ORM映射机制与数据库实战
一.ORM(Object Relational Mapping) 1.ORM概念 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据库存 ...
- 对象关系映射(ORM)介绍理解
问题背景 假设,让你设计一个框架,把jdbc封装一下?? JDBC操作步骤: 获取数据库连接Connection 创建操作命令对象Statement 执行sql语句(sql中,如果有占位符,在执行sq ...
- 笨办法学 Python · 续 第六部分:SQL 和对象关系映射
第六部分:SQL 和对象关系映射 原文:Part VI: SQL and Object Relational Mapping 译者:飞龙 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 在本 ...
- 神经网络是存储了海量的信息还是将海量的关系映射存储在了一起(发挥了存储记忆功能),还是变成了看似是一个公式,实际是成千上万个规律的公式融合在一个式子中( 类似于正弦波的傅里叶分解成无限中频率的波的加和
神经网络是存储了海量的信息还是将海量的关系映射存储在了一起(发挥了存储记忆功能): 还是变成了看似是一个公式,实际是成千上万个规律的公式融合在一个式子中( 类似于正弦波的傅里叶分解成无限中频率的波的加 ...
- java继承 映射_hibernate继承关系映射和java反射机制的运用
转:http://blog.csdn.net/derpvailzhangfan/article/details/1957946 ,感谢博主分享 Notes:hibernate元数据的运用:uuid的概 ...
- 组成关系映射(注解)
组成关系映射(注解) @Embeddable:表明该JavaBean是组件类. @Embedded:用于组件属性,以标明实体Bean的组件属性. @AttributeOverrides:该注释作用于组 ...
- mysql数据库对象关系映射
http://www.2cto.com/database/201310/248690.html mysql数据库对象关系映射 1.对"对象关系映射"的理解 a.对象:可以理解为ja ...
最新文章
- afn原理 ios_iOS开发:AFN的基本使用
- swift1.2语言函数和闭包函数介绍
- SurfaceTexture
- 第三次学JAVA再学不好就吃翔(part107)--字符流的拷贝
- 吴恩达DeepLearningCourse1-神经网络和深度学习
- c++两个vector合并_数据结构——算法初步(4)——合并排序算法
- ES6 let和const命令(3)
- Discrete Logging ZOJ - 1898 (模板题大小步算法)
- python查询当前路径_python获取当前目录路径和上级路径的实例
- 完美下载安装SourceTree并成功启动
- ERP、CRM、SCM、电子商务、BI、ITSS
- vscode如何快捷键一键生成vue模板
- 渗透之——SQLMap参数说明
- 方法重载时,需要遵循以下三条原则
- CTA-敏感行为-复制到剪切板/从剪切板粘贴
- 151308-48-4,Cyclo(-Gly-Asn-Trp-His-Gly-Thr-Ala-Pro-Asp)-Trp-Val-Tyr-Phe-Ala-His-Leu-Asp-Ile-Ile-Trp
- 09 TypeError: Descriptors cannot not be created directly.
- 三菱 plc远程调试及上下载方法
- 硅芯思见:SystemVerilog中unpacked数组的assignment pattern
- 树图 [ TreeMap ]
热门文章
- 记一个基于JEECG-BOOT的比较复杂的增删改功能的实现
- 图说行列式:几张图让你明白行列式的性质
- 【数据结构】中缀表达式转前缀表达式求值
- 在线html转wml,HTML_什么是 WML?, WML(Wireless Markup Language - phpStudy
- tensorflow中Adagrad优化器运用
- [15单片机] STC15F104W开发入门及模拟串口程序
- php和体感开发,关于体感的10篇文章推荐
- apache tomcat下32还是64_Windows操作系统从win7升级到win 10,该选择32位还是64位?
- 核函数及SVM核函数的选择
- Zabbix Templates(常用模板)