2

Django のアプリで使用しているレガシー データベースがあります。django の管理機能を使用して、既存のテーブルから models.py ファイルを生成しました。

モデルに制約を追加するなど、モデルに変更を加えたunique_together場合、変更は Django によって管理されますか、それともモデルの変更をデータベースに適用する必要がありますか?

4

1 に答える 1

3

django が変更を検出できるようにするには、サードパーティ製の移行ツールを使用する必要がありますsouth。ここで、実行したことを既にコミットしているpython manage.py syncdbため、テーブルを削除して最初からやり直す必要があります。

これを行う方法は次のとおりです (テーブルを削除した後):

  1. 南を使用してインストールしますpip install south
  2. インストールされたアプリに南を追加し、作成した他のすべてのアプリよりも前に来るようにします
  3. これを実行します:python manage.py schemamigration --inital <your app name>
  4. これを実行します:python manage.py migrate <your app name>
  5. これを実行してください: python manage.py syncdb<- 最後に実行する必要があります :)

これが役に立ったことを願っています。

于 2013-07-04T16:24:25.403 に答える