我不确定这是否是sqlite数据库特有的问题,但添加了一些属性后,我成功执行了syncdb,但仍未将这些列添加到数据库中,以及何时我尝试在管理员访问模型我得到no such column
错误。Django manage.py syncdb与sqlite3一起使用时什么也不做
为什么会发生这种情况,我该如何解决这个问题?
详细信息:Django 1.3,Python 2.6,OSX 10.6,PyCharm。
我不确定这是否是sqlite数据库特有的问题,但添加了一些属性后,我成功执行了syncdb,但仍未将这些列添加到数据库中,以及何时我尝试在管理员访问模型我得到no such column
错误。Django manage.py syncdb与sqlite3一起使用时什么也不做
为什么会发生这种情况,我该如何解决这个问题?
详细信息:Django 1.3,Python 2.6,OSX 10.6,PyCharm。
创建表后,sync db不会进行集成模式更改。您必须手动删除数据库并再次执行syncdb。看到盒装的信息在这个环节
http://docs.djangoproject.com/en/dev/ref/django-admin/#syncdb
一如既往,syncdb
不会迁移现有架构。
我认为一个可以在这里找到解决方案:一个不错的博客开始使用Django: 入门Django的REST框架(DRF)和AngularJS: http://engineroom.trackmaven.com/blog/getting-started-drf-angularjs-part-1/
您的模型在settings.py中的installed_apps中列出了吗?另外,你可以发布你的models.py(或者至少有一个类)?你是否试图用新列更新当前存在的数据库? – tkone 2011-03-06 15:30:46
首先,* app *(模块)在settings.py中列出,而不是模型(并且这是它应该是donbe)。我尝试将新列添加到现有表。这完全是因为如果我添加一个新的模型,它的工作原理。 – sorin 2011-03-06 15:33:33
syncdb不会将列添加到现有表。你必须手动添加它们。看到这里:http://code.djangoproject.com/wiki/SchemaEvolution – tkone 2011-03-06 15:38:14