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の場合 モデル。