django模型01
2024-10-19 23:27:32
1.开发流程
- 配置数据库
- 定义模型类
- 生成迁移文件
- 执行迁移生成数据表
- 使用模型类进行增删改查操作
2.ORM
- **概述**:对象->关系->映射
- **任务**
-- 根据对象类型生成表结构
-- 将对象、列表的操作转换为sql语句
-- 将sql语句查询到的结果转换为对象、列表
- **优点**
-- 极大减轻了开发人员的工作量、不需要面对因数据库的变更而修改代码
3.定义模型
-** 模型、属性、表、字段间的关系**
-- 一个模型类在数据库中对应一张表,在模型类中定义的属性对应该模型对照表中的一个字段
- **定义属性**
-- **字段类型**
CharField(max_length=):字符串类型,默认html表单textinput
DecimalField(max_digits=None, decimal_places=None)
-使用python的Decimal实例表示的十进制浮点数
-第一个参数:位数总数;第二个参数:小数点后的数字位数
DateField([auto_now=False,auto_now_add=False])
- auto_now: 每次保存对象时,自动设置该字段为当前时间,用于“最后一次修改”的时间戳
- auto_now_add: 当对象第一次创建时自动设置当前时间,用于创建的时间戳
-- **关系**
- **分类**
- ForeignKey: 一对多,将字段定义在多的端中
- ManyToManyField: 多对多,将字段定义在两端中
- oneToOneField: 一对一,将字段定义在任意一端中
- **用一访问多**
- 格式:对象.模型类小写_set(grade.students_set)
- **1v1**
- 格式:对象.模型类小写(grade.students)
- **访问id**
- 格式:对象.属性_id(student.sgrade_id)
-** 创建模型类**
- **元选项**
-- 在模型类中定义的Meta类,用于设置元信息
- db_table: 定义数据表名,推荐使用小写字母,数据表名默认为项目名_类名小写
- ordering:对象的默认排序字段,获取对象的列表时使用(ordering['id']升序,ordering['-id']降序);排序会增加数据库的开销
4. 模型成员
最新文章
- 死去活来,而不变质:Domain Model(领域模型) 和 EntityFramework 如何正确进行对象关系映射?
- UTC时间和本地时间的区别
- linux配置java开发环境
- BZOJ3853 : GCD Array
- Android开发中Ant命令编译和APK签名的一些心得
- 数列极限---和Gauss(取整)函数有关
- Form.KeyPreview 属性2
- python 替换windows换行符为unix格式
- 解决:Determining IP Information for eth0 一直停留 无法进入系统
- Redis源代码分析(二十八)--- object创建和释放redisObject物
- WebService返回数据前台获取并处理JSON的相关问题
- 删除一个目录及其子目录下的所有.svn文件
- 【刷题】【LeetCode】总
- 关于 layer.mask = label.layer 出现空白情况
- ubuntu中连接mssql数据库sqlserver
- [WC2014]紫荆花之恋
- springMVC 处理json 及 HttpMessageConverter 接口
- (网页)HTML小技巧的一些小技巧
- jquery stop()、callback、鏈接
- HDU - 4780费用流
热门文章
- java基础01-03-注释、标识符、数据类型讲解
- Spark-寒假-实验4
- Java异常理解之Exception in thread “main“ java.lang.ArrayIndexOutOfBoundsException
- 【刷题-LeetCode】154 Find Minimum in Rotated Sorted Array II
- 【视频解码性能对比】opencv + cuvid + gpu vs. ffmpeg + cpu
- 看看CSDN的吃相
- gin框架中请求路由组的使用
- gin框架中请求参数的绑定与多数据格式处理
- 谷歌浏览器和火狐浏览器如何查看HTTP协议
- web.xml最新配置