我似乎无法能够添加更多的表,我models.py
通过python manage.py syncdb
它被用来创建我最初的表,MyTable的包容性.我尝试过python manage.py makemigrations
然后做过python manage.py migrate --fake
甚至python manage.py migrate
.
Syncdb给了我django.db.utils.OperationalError:(1050,"表'myapp_mytable'已经存在")并且迁移命令不会给出任何错误但是没有创建表.
Models.py:
class MyTable(models.Model): #table details #this table is already created. class NewTable(models.Model): #table details #this is the table I want to add
注意:我使用Django 1.7.
通过从syncdb开始,然后切换到迁移,您已陷入不一致的境地.迁移生成器无法知道您在其功能之外创建了初始表,因此将继续尝试自己创建它.
要恢复,您可以执行此操作.删除迁移,然后注释掉第二个模型的代码.makemigrations
然后运行migrate --fake
,以使记录达到您实际所在的位置.现在,取消注释你的第二个模型,然后makemigrations
重新运行; 之后,migrate
应该正常工作来创建第二个表.
将来,请确保始终使用迁移.(事实上,在最新版本的Django中这不是问题,因为syncdb已被删除.)