模型与数据库
接下来将进入整个Django最关键也是最重要的学习内容,即模型与数据库的连接,Django对各种数据库都提供了很好地支持,默认使用SQLite3
模型定义与数据迁移
模型的定义:
- 模型定义简书了模型字段和模型属性的设置,不同类型的模型字段对应不同的数据表字段,模型属性可用于Django其他功能模块,如设置模型所属的App
- 开发个人的ORM框架是从源码深入剖析Django的ORM框架底层原理,并参考对比原理实现个人的ORM框架的开发
- 数据迁移是根据模型在数据库立创建相应的数据表,这一过程由Django内置操作指令makemigrations和migrate实现,此外还简书数据迁移常见的错误以及其他数据迁移指令
- 数据导入与导出是对数据表的数据执行导入与导出操作,确保开发阶段、测试阶段和项目上线的数据互不影响
定义模型
ORM框架是一种程序技术,用于实现面向对象编程语言中不同类型系统的数据之间的转换。Django对该框架所起到的功能称为模型,通过模型实现对目标数据的读写操作,实现方法如下:
- 配置目标数据库,在settings.py中设置配置属性
- 构建虚拟对象数据库,在App的models.py文件中以类的形式定义模型
- 通过模型在目标数据库中创建相应的数据表
- 在其他模块(如视图函数)里使用模型来实现目标数据库的读写操作
settings.py数据库配置信息如下:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': BASE_DIR / 'db.sqlite3',
}
}
模型的字段类型说明:
- AutoField:自增长类型,数据表的字段类型为整数,长度为11位
- BigAutoField:自增长类型,数据表