我刚刚添加了num
对象,并尝试将其添加到我的管理员,但是我收到以下错误:Exception Value:
no such column: game_riddle.num
这是班级:
class Riddle(models.Model):
"""represents a riddle, comprising a question and hints"""
world = models.ForeignKey(World)
question = models.TextField()
num = models.IntegerField()
我有一个小型数据库,上次我添加了必须运行的对象:sqlclear
然后syncdb
如何在不清除数据库的情况下修复错误?
答案 0 :(得分:2)
阅读本文档:http://south.readthedocs.org/en/0.7.6/installation.html
easy_install South
安装完成后,在您设置的installed_app中添加“南”
不要忘记同步: python manage.py syncdb
运行此命令: python manage.py schemamigration app_name --auto
迁移: python manage.py migrate
就是这样。接下来,如果您添加新模型或进行更改。只需执行第5步和第6步,您的模型就会更新。
答案 1 :(得分:1)
您需要使用迁移工具,例如South:
South将迁移带到Django应用程序。其主要目标 是提供简单,稳定和独立于数据库的迁移 图层可以防止随着时间的推移而带来的所有麻烦架构变化 Django应用程序。