Django学习教程(八)Django数据迁移migrations

Django学习教程(八)Django数据迁移migrations

前言

  上一篇我们创建了博客文章模型Article,但是只是在models.py中定义了模型类,数据库中还没有真正生成表。

  这一篇我们来学习Django中的数据迁移,通过迁移命令,把模型类同步到数据库中。

1.什么是数据迁移

数据迁移就是把models.py中的模型变化,同步到数据库中。

比如我们定义了Article模型,Django可以根据这个模型自动创建文章表。

Django中常用的迁移命令有两个:

复制代码
python manage.py makemigrations

python manage.py migrate

2.生成迁移文件

在manage.py所在目录下执行命令:

复制代码
python manage.py makemigrations

执行后,会在blog应用的migrations目录下生成迁移文件。

类似:

复制代码
blog/migrations/0001_initial.py

这个文件记录了模型的变化。

3.执行迁移

生成迁移文件后,还需要执行迁移命令。

命令:

复制代码
python manage.py migrate

执行完成后,Django会根据迁移文件创建数据库表。

4.默认数据库

Django默认使用SQLite数据库。

在项目根目录下,会生成一个文件:

复制代码
db.sqlite3

这个文件就是Django默认的数据库文件。

5.迁移命令区别

makemigrations和migrate的区别:

  1. makemigrations:根据模型生成迁移文件
  2. migrate:根据迁移文件操作数据库

简单理解:

复制代码
models.py -> makemigrations -> 迁移文件 -> migrate -> 数据库表

6.修改模型后怎么办

如果后面修改了models.py中的模型,比如新增字段,也需要重新执行:

复制代码
python manage.py makemigrations

然后再执行:

复制代码
python manage.py migrate

这样数据库结构才会更新。

7.总结

  这一篇我们学习了Django中的数据迁移,主要掌握了makemigrations和migrate两个命令。

  以后只要修改了模型类,就需要执行迁移命令,把模型变化同步到数据库。好了这一篇就到这里,下一篇我们继续学习Django Shell基本使用,如果对你有帮助,点赞加关注,下篇见。

相关推荐
JavaWeb学起来1 天前
Django学习教程(七)创建博客文章模型
python web·django教程·django学习·django基础
JavaWeb学起来2 天前
Django学习教程(六)模型层Model基本介绍
python web·django教程·django学习·django基础
JavaWeb学起来3 天前
Django学习教程(五)Django HelloWorld入门案例
python web·django教程·django学习·django基础
JavaWeb学起来4 天前
Django学习教程(四)Django项目目录结构介绍
python web·django教程·django学习·django基础
JavaWeb学起来7 天前
Django学习教程(三)创建Django应用
python web·django教程·django学习·django基础
JavaWeb学起来9 天前
Django学习教程(二)创建Django项目
python web·django教程·django学习·django基础
JavaWeb学起来10 天前
Django学习教程(一)Django介绍和环境准备
django·python web·web框架·django教程
laufing6 个月前
fastapi 基础介绍
fastapi·高性能·python web
数据知道6 个月前
Django基础项目:从零到一搭建用户管理系统
python·django·python web·python项目