做百度推广需要有自己的网站吗,华秋电子商城,长沙网站建设策划,网络工程师报名时间文章目录 一、数据迁移二、数据导入导出1. 数据导出2. 数据导入 一、数据迁移
数据迁移是将项目里定义的模型生成相应的数据表。主要的迁移指令如下#xff1a;
# 第一次生成自定义模型与django admin自带模型迁移文件#xff0c;后续只生成新增模型迁移文件。后面加App名… 文章目录 一、数据迁移二、数据导入导出1. 数据导出2. 数据导入 一、数据迁移
数据迁移是将项目里定义的模型生成相应的数据表。主要的迁移指令如下
# 第一次生成自定义模型与django admin自带模型迁移文件后续只生成新增模型迁移文件。后面加App名称只生成指定app迁移文件
python manage.py makemigrations
# 第一次只运行自定义模型与django admin自带模型生成的迁移文件后续只运行新增模型迁移文件。后面加App名称只运行指定app迁移文件
python manage.py migrate注意 新增模型字段必须将属性null和blank设为True或者为模型字段设置默认值设置属性default否则执行makemigrations指令会提示字段修复信息。 如果要重复执行migrations文件夹的某个.py文件就只需在数据表django_migrations里删除相应的文件执行记录。一般情况下不建议采用这种操作因为这样很容易出现异常比如数据表已存在的情况下再次执行相应的.py文件会提示table xxx already exists异常。 migrate指令还可以单独执行某个.py文件首次在项目中使用migrate指令时Django会默认创建内置功能的数据表如果只想执行index的migrations文件夹的某个.py文件那么可以在migrate指令里指定文件名。
D:\MyDjangopython manage.py migrate index 0001_initial
Operations to perform:Target specific migration: 0001_initial, from index
Running migrations:Applying index.0001_initial... OKmigrate指令根据migrations文件夹的.py文件创建数据表但在数据库里数据表的创建和修改离不开SQL语句的支持因此Django提供了sqlmigrate指令该指令能将.py文件转化成相应的SQL语句。
二、数据导入导出 在实际开发过程中我们经常对数据库的数据进行导入和导出操作比如网站重构、数据分析和网站分布式部署等。除了使用数据库可视化工具实现数据的导入与导出之外Django还为我们提供操作指令loaddata和dumpdata来实现数据的导入与导出操作。 1. 数据导出
dumpdata指令末端使用了符号和文件名data.json这是将项目所有的数据都存放在data.json文件中并且data.json的文件路径在项目的根目录与项目的manage.py文件在同一个路径。如果只想导出某个项目应用的所有数据或者项目应用里某个模型的数据那么可在dumpdata指令末端设置项目名称或项目名称的某个模型名称。
# 导出项目的所有数据
python manage.py dumpdatadata.json
# 导出项目应用index的所有数据
python manage.py dumpdata index data.json
# 导出项目应用index的模型PersonInfo的数据
python manage.py dumpdata index.Personinfoperson.json2. 数据导入
若想将导出的数据文件重新导入数据库里则可使用loaddata指令完成该指令使用方式相对单一只需在指令末端设置需要导入的文件名即可。loaddata指令根据数据文件的model属性来确定当前数据所属的数据表并将数据插入数据表从而完成数据导入。
python manage.py loaddata data.json一般情况下数据的导出和导入最好以整个项目或整个项目应用的数据为单位因为数据表之间可能存在外键关联如果只导入某张数据表的数据就必须考虑该数据表是否设有外键并且外键所关联的数据表是否已有数据。