also in etwas mehr Detail habe ich ein Modell mit einem Feld wie: permalink = models.IntegerField(default=0)
Wie kann ich Django ORM/SQL-Probleme debuggen? (Frisch Migration gibt Nullwert Fehler, bestehende db Daten gebrochen hat)
Ich habe nicht wirklich dieses Feld wurde mit - aber würde jetzt würde gerne.
Allerdings scheint es alle Modelle auf dieser Tabelle, permalink
ist jetzt 57295730
- auf allen 2000 Modellen!
In einem Versuch zu debuggen, versuchte ich komplett wischen die DB, läuft migrate
(~ 100 Migrationen) - aber dann eine Instanz des Modells erstellen, mir wurde gesagt permalink violates the not-null constraint
, obwohl ich definitiv einen Wert übergeben! Ich bekomme auch eine Liste der Werte, die ich es übergebe, aber bin ich nicht sicher, wie man weiß, welcher Wert/Spalte zu welchem Feld bezieht?
Ich habe sogar DB zu entfernen versucht, Migrationen zu entfernen, eine neue makemigrations
läuft - und nach wie vor die Null-Verletzung bekommen ...
noch seltsamer, es sieht aus wie dieses Feld seit der ersten Migration nicht berührt wurde!
migrations$ egrep permalink * 0001_initial.py: ('permalink', models.IntegerField(default=0)), migrations$
Ich bin mit (k) ubuntu 14.04
, Postgres 9.3
, Python 3.4
, django 1.9.4
Obwohl ich würde gerne wissen, wie diese zu beheben - meine Frage ist wirklich: „Was kann Ich tue, um diese Art von Situation zu debuggen? "
auch - kann den Wert von 'permalink' Admin sagt es nicht bearbeiten hat sich verändert, aber es bleibt unverändert. Alle anderen Daten _looks_ OK und _seems_ können ebenfalls bearbeitet werden. – Chozabu