当前位置:  开发笔记 > 编程语言 > 正文

Django无法添加新表

如何解决《Django无法添加新表》经验,为你挑选了1个好方法。

我似乎无法能够添加更多的表,我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.



1> Daniel Rosem..:

通过从syncdb开始,然后切换到迁移,您已陷入不一致的境地.迁移生成器无法知道您在其功能之外创建了初始表,因此将继续尝试自己创建它.

要恢复,您可以执行此操作.删除迁移,然后注释掉第二个模型的代码.makemigrations然后运行migrate --fake,以使记录达到您实际所在的位置.现在,取消注释你的第二个模型,然后makemigrations重新运行; 之后,migrate应该正常工作来创建第二个表.

将来,请确保始终使用迁移.(事实上​​,在最新版本的Django中这不是问题,因为syncdb已被删除.)

推荐阅读
牛尾巴2010
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有