Sto scrivendo un sito Web in Django e desidero avere blog diversi per diverse categorie di post. Ho un Post modello, che usa un ForeignKey per il modello Blog.Utilizzo di una chiave ForeignKey, il vincolo NON NULL non è riuscito
Dopo l'aiuto utile mi è stata data here, ho:
class Blog(models.Model):
# category of the blog
category = models.CharField(max_length=50)
# its title (for the view)
title = models.CharField(max_length=100)
# its url (for url.py)
url = models.URLField()
class Post(models.Model):
# blog
blog = models.ForeignKey(Blog, null=True)
# other fields
# ...
ogni volta che provo python manage.py migrate pad
ricevo
sqlite3.IntegrityError: NOT NULL constraint failed: pad_post__new.blog_id
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
[...]
django.db.utils.IntegrityError: NOT NULL constraint failed: pad_post__new.blog_id
Devo impostare un id
in Blog esplicitamente? Ho provato con diverse combinazioni di blank=null
e null=True
in diversi campi, ma ottengo sempre questo errore.
Prima di tutto, si dovrebbe pulire migrazioni precedenti. Puoi assicurarti che il precedente python manage.py schemamigration pad --auto file sia rimosso, per rigenerarlo di nuovo con le modifiche del modello della tua condizione nulla? – xecgr
hai già eseguito makemigrations ??? – cdvv7788
xecgr: rimuovo tutti i file .py tranne __init__.py e 0001_initial.py in pad/migrazioni? (Non voglio rompere tutto.) cdvv7788: Sì, eseguo makemigrations. Senza alcun problema – mmcasetti