0

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

データベースをクリアせずにバグを修正するにはどうすればよいですか?

4

2 に答える 2

2
  1. このドキュメントを読んでください: http://south.readthedocs.org/en/0.7.6/installation.html

  2. easy_install 南

  3. インストール後、設定の installed_app に「 south 」を入力します

  4. 同期することを忘れないでください: python manage.py syncdb

  5. 次のコマンドを実行します: python manage.py schemamigration app_name --auto

  6. 移行: python manage.py migrate

それでおしまい。新しいモデルを追加するか、変更がある場合は次へ。ステップ 5 と 6 を実行するだけで、モデルが更新されます。

于 2013-02-13T14:38:25.083 に答える
1

Southなどの移行ツールを使用する必要があります。

South は Django アプリケーションへの移行をもたらします。その主な目的は、シンプルで安定したデータベースに依存しない移行レイヤーを提供して、時間の経過とともに Django アプリケーションにもたらされる面倒なスキーマ変更をすべて防止することです。

于 2013-02-13T14:35:51.080 に答える