3

現在、Django 1.7 開発バージョンを使用しているプロジェクトに参加しています。モデルに加えた変更 (フィールドの追加、モデルの削除など) を、「makemigrations」および「migrate」を使用してデータベース スキーマに反映させたいと考えています。アプリケーションのモデルの 1 つに「年齢」フィールドを追加しました。

country = models.CharField(max_length=50, blank=True)
address = models.CharField(max_length=100, blank=True)
postal_code = models.IntegerField(max_length=50, blank=True)
city = models.CharField(max_length=50, blank=True)
phone_no = models.CharField(max_length=25, blank=True)
skype_name = models.CharField('Skype Username',max_length=50, blank=True)
age=models.IntegerField(max_length=25,blank=True)

「makemigrations」コマンドを使用すると、出力は次のようになります---「変更が検出されませんでした」.「makemigrations」はスキーマに加えられた変更を把握できないと思います.どうすれば機能させることができますか??

4

3 に答える 3

2

そのアプリを初めて移行する場合は、次を使用する必要があります。

manage.py makemigrations myappname

それができたら、次のことができます。

manage.py migrate

データベースにアプリがあり、そのモデルを変更し、makemigrations の変更を更新していない場合は、まだ移行していない可能性があります。モデルを元の形式に戻し、最初のコマンド (アプリ名を指定して) を実行し、移行します...偽装します。モデルの変更を元に戻したら、makemigrations を実行して再度移行すると、機能するはずです。

于 2014-10-03T19:34:06.233 に答える