django下models.py数据库同步操作技巧

Posted kindnull

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了django下models.py数据库同步操作技巧相关的知识,希望对你有一定的参考价值。

一、认识一个目录:
目录名:migrations
作用:用来存放通过makemigrations命令生成的数据库脚本,不熟悉的情况下,里面生成的脚本不要轻易修改。app目录下必要有migrations的目录且该目录下必须要有__init__.py才能正常的使用数据库同步的功能

二、认识一张数据表(django_migrations)
表中的字段:
app:app的名字
name:脚本的文件名称
applied:脚本执行的时间

三、数据库相关的命令
flush:清空数据库--恢复数据库到初始状态
makemigrations:生成数据库同步的脚本
migrate:数据库同步(*)
showmigrations:查看生成的数据库同步脚本
sqlflush:查看生成清空数据库的脚本(*)
sqlmigrate:查看数据库同步的sql语句(*)

终极大招:
在开发过程中,数据库误操作之后,难免会遇到不能同步成功的情况,解决这个问题的方法,一是去分析生成的数据库脚本和django_migrations中的同步记录是否匹配,另外一个简单粗暴的方法就是把migrations目录下的脚本(除__init__.py)之外全部删除掉,再把数据库删除掉之后创建一个新的数据库,数据库同步操作再重新做一遍。














以上是关于django下models.py数据库同步操作技巧的主要内容,如果未能解决你的问题,请参考以下文章

Django模型层:单表多表操作F与Q查询

Django学习--数据库同步操作技巧

Django models拆分

五 Django框架,models.py模块,数据库操作——表类容的增删改查

Django详解之models操作

如何测试 django 数据库模式?