0

モデルで次のフィールド キーを更新しようとしています。

name = models.CharField(max_length=255, unique = True)

に:

name = models.CharField(max_length=255, unique = False)

ただし、現在のデータを失うことなく mysql db を更新する必要があります。どうすればこれを行うことができますか?試してみ$ python manage.py syncdbましたが、キーが更新されていないようです。

4

2 に答える 2

3

それはそれをsyncdb しないからです。新しいテーブルを作成するだけで、モデルが変更されても既存のテーブルは変更されません。

開発環境では、モデルを変更した後にデータベースを更新するには、 を使用python manage.py reset appnameしてデータベースを空にし、syncdb再度使用できます。

それ以外の場合は、 Southなどのツールを使用する必要があります。South は移行を処理するように作成されましたが、モデルが変更されたときにデータベースも変更されました。

必要なことだけを行うdjango-evolutionsもありますが、移行機能がほとんどの場合に役立つため、South をお勧めします。

于 2012-04-28T22:15:49.403 に答える
0

PHPMyAdminを使用して、このフィールドから一意のインデックスを削除できます。

于 2012-04-28T22:29:13.963 に答える