将对象添加到类后如何更新SQLite3数据库?

时间:2013-02-13 14:31:41

标签: django

我刚刚添加了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

如何在不清除数据库的情况下修复错误?

2 个答案:

答案 0 :(得分:2)

  1. 阅读本文档:http://south.readthedocs.org/en/0.7.6/installation.html

  2. easy_install South

  3. 安装完成后,在您设置的installed_app中添加“

  4. 不要忘记同步: python manage.py syncdb

  5. 运行此命令: python manage.py schemamigration app_name --auto

  6. 迁移: python manage.py migrate

  7. 就是这样。接下来,如果您添加新模型或进行更改。只需执行第5步和第6步,您的模型就会更新。

答案 1 :(得分:1)

您需要使用迁移工具,例如South

  

South将迁移带到Django应用程序。其主要目标   是提供简单,稳定和独立于数据库的迁移   图层可以防止随着时间的推移而带来的所有麻烦架构变化   Django应用程序。