django-8-django模型系统
时间:2019-03-20
本文章向大家介绍django-8-django模型系统,主要包括django-8-django模型系统使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
<<<表关系实现>>>
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
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)
OnenToMany('another', on_delete=models.CASCADE)
<<<关联表的数据操作>>>
1.OneToMany
一个模型如果定义了一个外键字段,通过这个模型对外键的操作就叫【正向】
1.OneToMany
一个模型如果定义了一个外键字段,通过这个模型对外键的操作就叫【正向】
s.grade = None 把外键删除
从grade对象反过来对和他关联的模型进行操作【反向】
table_set 反响管理器
remove(s)
clear()这两种方法都立刻马上执行
remove(s)
clear()这两种方法都立刻马上执行
set()参数传列表,先执行clear()
filter(grade__name='django')
2.ManyToMany
指定了中间表,add remove set都不能用,必须用中间表
指定了中间表,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.查询课程表里面的男生
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')
- sqlalchemy和flask-sqlalchemy几种分页操作
- 一个 tflearn 情感分析小例子
- 前端js,后台python实现RSA非对称加密
- 运行mysql时,提示Table ‘performance_schema.session_variables’ doesn’t exist
- ODL应用开发之MD-SAL中级教程
- Sql参数是一个list的最佳实践
- MyBatis 配置输出日志,不输出SQL问题解决
- lombok让你提高代码整洁度的神器附教程及原理分析
- mvn编译的时候一个破错误,google只有3个结果maven : Failed to install metadata project Could not parse metadata maven-
- 读书|《Mastering Machine Learning with Python in Six Steps》
- 几种简单的文本数据预处理方法
- Fiddler中显示IP方法
- readlink: command not found 解决方案
- Java 并发编程系列: CountDownLatch (上厕所的案例)
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法