ORM: 对象映射关系
ORM的作用: 利用Python 面向对象的代码简单快捷的操作数据库
ORM不足之处: 封装层度太高,有时候sql语句的效率偏低,需要自己写sql语句
映射关系:
类 | 表 |
对象 | 记录 |
对象属性 | 记录某个字段对应的值 |
1. 应用下面的 django 中 models.py 文件进行操作
class User(models.Model): #id int primary_key auto_increment id = models.AutoField(prinary_key =True) # usename varchar(32) 必须指定max_length ,不指定会报错######## username = models.CharField(max_length=32) # passworn int password = nodels.IntrgerField()
2. 数据库迁移命令
在terminal 中输入
Python3 manage.py makemigration (将记录写入到 migrations 文件夹下)
python3 mangae.py migrate (将命令真正的同步到数据库中)
注意点:
只要修改了models.py中与数据库相关的代码,必须重新执行上述的俩条数据库迁移命令
由于一张中必须有一个主键字段 (一般情况为id字段),ORM在我们没有定义id字段时会自动创建id字段
字段增加
1 表中没有数据时,直接在class中添加对象
2 表中有数据时
1 可以在终端内给默认值
2 该字段可以为空 (添加null=True)
info = models.CharField(max_length=32,verbose_name=‘简历‘,null=True)
3 直接给字段设定默认值 (添加default = ‘study)
hobby = models.CharField(max_length=32,verbose_name=‘兴趣‘, default=‘study‘)
字段的修改
修改原class中的代码,执行数据库迁移命令即可
字段的删除
直接注释掉原class中的代码,执行数据库迁移命令
字段的查看
直接打开models文件进行查看即可
注意点:
在操作models.py的时候一定要细心 千万不要注释一些字段 执行迁移命令时,仔细检查自己的代码
原文:https://www.cnblogs.com/f211/p/13736663.html