Si quieres el after_homework
campo sea opcional, entonces debe usar null=True
y blank=True
.
class VideoGamePurchase(models.Model):
bought_by = models.ForeignKey(Person)
after_homework = models.OneToOneField(HomeWork, null=True, blank=True)
No quieres primary_key=True
para el after_homework
- eso haría el after_homework
el campo de clave principal de VideoGamePurchase
modelo, que no tiene sentido si el campo es opcional.
Parece que tus migraciones están en mal estado porque tenías primary_key=True
para el after_homework
campo antes. La solución más fácil sería comenzar con una base de datos nueva, eliminar las migraciones de esa aplicación y luego volver a ejecutar makemigrations
y migrate
. Esta vez, la migración creará automáticamente un campo de clave principal id
para la VideoGamePurchase
modelo.