私は Django 1.5b1 を使用しており、南への移行を行っていますが、一般的には素晴らしい生活を送っています。データベースを作成するスキーマの更新がいくつかあり、特にユーザーテーブルがあります。ff.User
次に、 (カスタム ユーザー モデル)のフィクスチャをロードします。
def forwards(self, orm):
from django.core.management import call_command
fixture_path = "/absolute/path/to/my/fixture/load_initial_users.json"
call_command("loaddata", fixture_path)
モデルに別のフィールドを追加するまで、すべてがうまく機能していff.User
ます。移行ラインのはるか下です。フィクスチャのロードが壊れました:
DatabaseError: Problem installing fixture 'C:\<redacted>create_users.json':
Could not load ff.User(pk=1): (1054, "Unknown column 'timezone_id' in 'field list'")
Timezone は、ユーザー モデルに追加したフィールド (ForeignKey) です。
ff.User はデータベース内のものとは異なるため、Django ORM は DB エラーで断念します。残念ながら、フィクスチャでモデルを として指定することはできませんorm['ff.User']
。これは南方の方法のようです。
これらのフィクスチャの対象となるモデルが変更されたときにフィクスチャが壊れないように、south を使用してフィクスチャを適切にロードするにはどうすればよいですか?