2016-06-17 7 views
2

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.

+0

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. –

Antwort

0

sollten Sie haben:

Foo.objects.get(id=foo_id).delete() 
Verwandte Themen