Das Verhalten korrekt ist: null
bedeutet nicht, alles auf Datenbankebene, wenn sie mit einem ManyToManyField
verwendet. Der Aufruf eines ManyToManyField
verursacht die Erstellung einer Zwischentabelle, die die Beziehung enthält, und obwohl Django ein standard
Attribut in Ihrer Modellinstanz für Ihre Bequemlichkeit erstellen wird, gibt es keine tatsächliche Spalte, die es darstellt, das gelöscht werden konnte. Per Definition kann es immer null Instanzen der Beziehung geben.
blank=False
wirkt sich jedoch auf die Admin-App aus und zwingt den Benutzer, mindestens eine Beziehung auszuwählen.
(Beachten Sie, dass das integrierte Migrationssystem von Django Migrationen für nahezu jede Änderung an einem Modell erstellt, unabhängig davon, ob es sich auf die Datenbank auswirkt oder nicht. Diese Änderung würde also zu einer Migration führen Datenbank oder ob Sie keine Instanzen der Beziehung haben könnten.)
Was genau sagt South, wenn Sie versuchen, './manage.py schemamigration yourapp - auto 'auszuführen? –
Keine Änderungen gefunden – npradeetw
Ich kann nur daran denken, dass Sie 'models.py' nicht speichern, aber ich bezweifle es sehr. Entschuldigung, ich kann nicht helfen. –