after_homework
が必要な場合 フィールドをオプションにする場合は、null=True
を使用する必要があります およびblank=True
。
class VideoGamePurchase(models.Model):
bought_by = models.ForeignKey(Person)
after_homework = models.OneToOneField(HomeWork, null=True, blank=True)
primary_key=True
は必要ありません after_homework
の場合 -それはafter_homework
になります VideoGamePurchase
の主キーフィールド モデル。フィールドがオプションの場合は意味がありません。
primary_key=True
があったため、移行が台無しになっているようです。 after_homework
の場合 以前のフィールド。最も簡単な修正は、新しいデータベースから開始し、そのアプリの移行を削除してから、makemigrations
を再実行することです。 およびmigrate
。今回の移行では、主キーフィールドid
が自動的に作成されます。 VideoGamePurchase
の場合 モデル。