以前は、このようなdjangoモデルがありました
class Review(models.Model):
reviewdate=models.DateField(default=date.today)
description=models.TextField()
author=models.ForeignKey(User,null=True)
私は db に Review のレコードを 500 ほど持っています。
モデルにフィールドを追加しました
from django.core.validators import MinValueValidator,MaxValueValidator
class Review(models.Model):
reviewdate=models.DateField(default=date.today)
description=models.TextField()
author=models.ForeignKey(User,null=True)
rating= models.IntegerField(validators=[MinValueValidator(1), MaxValueValidator(10)], default=5, help_text='integers 1 to 10')
python manage.py schemamigration myapp --auto
正常に実行され、0002_auto__add_field_review_rating.py
ファイルが作成されました
ここで、db の既存のレコードのデータ移行を行う必要があります。走らなければなりませんか
python manage.py datamigration myapp somechanges
somechanges.py
次に、作成された?に関数を実装します。新しいフィールドdifficulty
にデフォルト値の 5 を既に定義しているので、migrate コマンドを実行すると、それは使用されませんか? 関数で明示的に設定する必要がありsomechanges.py
ますか?