sql >> Database >  >> RDS >> PostgreSQL

Django OneToOneField met mogelijk leeg veld

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.




  1. Prestatieprobleem met MySQL MyISAM-tabel opnieuw bekeken

  2. mySQL-som van twee waarden in 2 verschillende tabellen

  3. Hoe meervoudig voortschrijdend gemiddelde te berekenen in MySQL

  4. Django-instelling:psycopg2.OperationalError:FATAL:Peer-authenticatie mislukt voor gebruiker indivo