Ich habe 2 ModelleDjango auf Löschen verursacht Integritätsfehler (models.set_null)
class Foo(models.Model):
field1 = models.Charfield()
....
....
class Foo1(models.Model):
field1 = models.ForeignKey(Foo, null=True, blank=True, on_delete=models.SET_NULL)
...
...
Wenn ich versuche, die Foo Objekt zu löschen, es Integritätsfehler verursacht.
"'Cannot delete or update a parent row: a foreign key constraint fails"
Ich bin mit MySQL-Backend und Django 1.7 (Ich weiß, das alt ist und ich versuche, es auf die LTS-Version zu aktualisieren.)
Edit: Bitte kommentieren, wenn Sie weitere Informationen benötigen. Ich werde es hier aktualisieren.
Foo.objects.get(id=foo_id).delete()
Dies funktioniert nicht. Verursacht den oben genannten Fehler. Ich habe gerade bestätigt, dass die MySQL-Engine Innodb ist.
Hat Ihre beiden Tabellen haben den gleichen Motor in MySQL? Wenn einer von ihnen MyISAM ist und der andere InnoDB ist, würde dies dieses Problem verursachen. –