真的想强烈谴责以下django的model创建数据库,就这个问题在我学习过程中反复出现且没有固定的解决办法。
写完之后发现我用的方法是有点舍近求远了,如果就一个表的话不如直接在数据库中创建,只要按照表格式起名就好,有如verbose_name之类的属性到时候再在调用modelform模块时再修改也不麻烦,下面我这样属实是急了,也算是记录一下我与django无声的对抗
仅适用于个人学习开发
原理很简单:直接在数据库中清除所有数据表(前提是做过备份),再利用django重新创建
1.首先先把所有的在django创建的数据表备份,可以新创建数据库,也可以直接在当前数据库下改名创建。(建议还是直接新建数据库再备份)
2.删除原来的表,同时要删除django_migrations和django_session表(也可以做备份,不过里面的记录对我来说没什么用)。
django_migrations表里是你的一些操作记录,django_session表里的数据是使用session时自动生成的,本就有时效性,过一段时间也会自动失效。(所以我觉得不删也行,只不过当时脑子一热全给删了)
3.删除migrations下的所有文件
以上执行完就相当于把所有记录全删完了
4.在django中执行
python manage.py makemigrations
python manage.py migrate
这次创建表总不会有问题了
5.再把数据复制回去,这一步就各显神通吧,批量添加数据总是有方法的