Hvis du vil have after_homework
felt for at være valgfrit, så skal du bruge null=True
og blank=True
.
class VideoGamePurchase(models.Model):
bought_by = models.ForeignKey(Person)
after_homework = models.OneToOneField(HomeWork, null=True, blank=True)
Du vil ikke have primary_key=True
for after_homework
- det ville gøre after_homework
det primære nøglefelt for VideoGamePurchase
model, hvilket ikke giver mening, hvis feltet er valgfrit.
Det ser ud til, at dine migreringer er rodet, fordi du havde primary_key=True
for after_homework
felt tidligere. Den nemmeste løsning ville være at starte med en ny database, slette migreringerne for den app og derefter køre makemigrations
igen og migrate
. Denne gang vil migreringen automatisk oprette et primært nøglefelt id
for VideoGamePurchase
model.