【发布时间】:2011-03-06 15:26:33
【问题描述】:
我不确定这是否是特定于 sqlite 数据库的问题,但是在添加了一些属性后,我成功执行了 syncdb,但列仍然没有添加到数据库中,当我尝试在管理员中访问模型时,我得到 @ 987654322@错误。
为什么会发生这种情况,我该如何解决这个问题?
详细信息:Django 1.3、Python 2.6、OSX 10.6、PyCharm。
【问题讨论】:
-
您的型号是否列在 settings.py 的 installed_apps 中?另外,你能发布你的models.py(或至少一个类)吗?您是否尝试使用新列更新当前现有的数据库?
-
首先,app(模块)列在 settings.py 中,而不是模型(这就是它应该是这样的)。我尝试将新列添加到现有表中。这完全是因为如果我添加一个新模型,它就可以工作。
-
syncdb 不会将列添加到现有表中。您必须手动添加它们。见这里:code.djangoproject.com/wiki/SchemaEvolution
-
如果我的回答给了你正确的见解,请将其标记为正确的