<<<表关系实现>>>
 1.OneToOne
  models.OneToOneField('another_table', on_delete=models.CASCADE)
 2.OneToMany
  models.ForeignKey('another',on_delete=models.SET_NULL, null=True)
 3.ManyToMany
  ManyToMany('another_table',through='Enroll')
  还要借助一个中间表Enroll
  OnenToMany('one', on_delete=models.CASCADE)
  OnenToMany('another', on_delete=models.CASCADE)
<<<关联表的数据操作>>>
 1.OneToMany
  一个模型如果定义了一个外键字段,通过这个模型对外键的操作就叫【正向】
  s.grade = None 把外键删除
  从grade对象反过来对和他关联的模型进行操作【反向】
  table_set 反响管理器
   remove(s)
   clear()这两种方法都立刻马上执行
   set()参数传列表,先执行clear()
  filter(grade__name='django')
 2.ManyToMany
  指定了中间表,add remove set都不能用,必须用中间表
 3.OneToOne
  直接通过模型的小写就能反向操作
<<<跨表查询>>>
 1.查询课程表里面的男生
 Course.objects.filter(studetns__sex=1)
 2.查询选了python课的学生
 Student.objects.filter(course__name_contains='python')
 3.查询33期,选英语课的学生
 Student.objects.filter(course__name__contains='english', grade__num__contains='33')
 4.查询学费小于3000的学生
 Student.objects.filter(enroll__pay__lt=3000)
 5.查询某一期学习python的学生
 Grade.objects.filter(student__course__name__contains='python')
 
 
 

最新文章

  1. logstash无法使用conf启动
  2. 网络存储(二)之ISCSI原理
  3. Android 下拉刷新
  4. wpf 属性变更通知接口 INotifyPropertyChanged
  5. dede 数据库类使用列表
  6. Mysqli基础知识
  7. Drupal8开发教程:认识.info.yml文件
  8. redis的lists类型
  9. Openjudge-NOI题库-和为给定数
  10. 【unix网络编程第三版】ubuntu端口占用问题
  11. 快乐的Lambda表达式(二)
  12. jQuery+存储过程实现无刷新分页(九)
  13. C语言高速入门系列(二)
  14. 毕向东_Java基础视频教程第20天_IO流(5~6)
  15. setContentView
  16. Navicat for Oracle设置唯一性和递增序列
  17. 第一行代码 Android 思维导图
  18. poj1862 Stripies
  19. Python随笔day01
  20. Java 判断中文字符

热门文章

  1. HTML5学习(一)
  2. [剑指offer] 50. 第一个只出现一次的字符 + map,hashmap 及其区别
  3. Tensorflow 之物体检测
  4. 使用gson进行数据(集合数据)的转换 并且返回给前端 进行动态解析 并添加
  5. Ubuntu 15.10配置OpenCV
  6. poj 2955 区间dp入门题
  7. BA-siemens-desigo_cc安装
  8. [Asp.net]EF更新之后要 保存
  9. OpenFace Docker 使用简介
  10. 基于Solr的HBase实时查询方案