sql >> Database teknologi >  >> RDS >> PostgreSQL

Django OneToOneField med muligt tomt felt

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.




  1. Tilslutning af MATLAB og MySQL med JDBC-driveren

  2. pgbouncer - lukker fordi:uren server på hver forbindelse

  3. Valg af lagermotor:Aria

  4. hvordan får man data fra mysql i php baseret på url?