Als je de after_homework
. wilt veld optioneel is, moet u null=True
. gebruiken en blank=True
.
class VideoGamePurchase(models.Model):
bought_by = models.ForeignKey(Person)
after_homework = models.OneToOneField(HomeWork, null=True, blank=True)
Je wilt niet dat primary_key=True
voor het after_homework
- dat zou de after_homework
. maken het primaire sleutelveld van de VideoGamePurchase
model, wat niet logisch is als het veld optioneel is.
Het lijkt erop dat uw migraties in de war zijn omdat u primary_key=True
. had voor het after_homework
veld eerder. De eenvoudigste oplossing zou zijn om te beginnen met een nieuwe database, de migraties voor die app te verwijderen en vervolgens makemigrations
opnieuw uit te voeren. en migrate
. Deze keer zal de migratie automatisch een primair sleutelveld maken id
voor de VideoGamePurchase
model.