大家在用django写完模型代码后,肯定都迫不及待的将模型翻译为迁移文件然后migrate吧,后来发现以后模型要修改的话再python manage.py makemigrations app加migrate后结果发现并不管用,数据库并不会作出任何修改,由于本人也是新手,于是在网上看来下资料,并且分析了下,发现了一种粗暴的解决方法:
(1)删除原来的迁移文件
目录如下项目名.app.migrations
(2)重新建立迁移文件
即重新python manage.py makemigrations app
(3)删除数据库记录
进入项目数据库,找到django_migrations表,把app为你app名字的那行记录删除,
(4)删除相关app的旧表
将关于你修改后的app的表全部删除
(5)将修改后的表加入数据库
再回来进行migrate,你会发现你修改后的模型已经成功的导入数据库。
如果各位大神有更加好的方法,欢迎分享!
补充知识:python Django 初始化数据到数据库的操作
引言:开发中经常会遇到一些数据在程序的运行时就要在数据库中存在,然后就对Django的数据初始化做一个简单的分享
1.首先在我们的app下创建对应的models,然后在models里面进行表的创建
2.对应上面的表,我们想要为这个表初始化进去两条数据
name:1 script_content:‘11111'
name:2 script_content:‘22222'
3.然后进行常规的表结构创建操作,在命令行运行python manage.py makemigrations + 自己的app名字
4.然后会看到在对应的app创建一个migrations的目录
5.根据自己的的迁移文件初始化自己的数据到数据库,这时在命令行运行,python manage.py makemigrations --enmpty + 自己的app名字
6.然后会在migrations的目录下生成一个文件 如下图0002开头的文件:
7.然后在上面新生成的文件里面编写一下两个函数代码
然后在文件中添加
然后在命令行执行,python manage.py migrate
这时候数据库中就有了初始化数据
大概整个过程就是这样的,完成了django的数据的初始化
以上这篇django实现将修改好的新模型写入数据库就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持易盾网络。