2017-11-12 2 views
0

Entschuldigung für mein Englisch. Ich gebe 2 Tage, kann aber nicht verstehen, warum ich Fehler haben:FOREIGN KEY constraint fehlgeschlagen django löschen

FOREIGN KEY constraint failed 

Ich benutze python 2.7 alles funktioniert, dann aktualisieren i python 3.5.2 und jetzt, wenn ich löschen versuchen, habe ich diesen Fehler. Ich habe Modelle wie folgt:

class Auction(models.Model): 
    sealers = models.ForeignKey(User, related_name="sealers", on_delete=models.CASCADE) 
    buyer = models.ManyToManyField(User, related_name='buyer') 
    product_in_auction = models.ForeignKey(Product, related_name='product_in_auction', null=True, blank=True, on_delete=models.CASCADE) 
    name_auction = models.CharField(max_length=64, blank=False, null=False) 
    description = models.TextField(blank=True, null=True, default=None) 
    conf_propose = models.OneToOneField('Propose', null=True, blank=True, related_name='confirm_proposition', on_delete=models.CASCADE) 
    created_at = models.DateTimeField(auto_now_add=True, auto_now=False) 
    updated_at = models.DateTimeField(auto_now_add=False, auto_now=True) 

    class Meta: 
     verbose_name = 'Auction' 
     verbose_name_plural = 'Auctions' 

    def __str__(self): 
     return "%s" % (self.name_auction) 


class Propose(models.Model): 
    buyer = models.ForeignKey(User, related_name="propositions_of_auction", on_delete=models.CASCADE, null=True, blank=True) 
    auction = models.ForeignKey(Auction, related_name="propositions_of_auction", on_delete=models.CASCADE) 
    bit = models.DecimalField(max_digits=10, decimal_places=2, default=0, blank=True) 
    created_at = models.DateTimeField(auto_now_add=True, auto_now=False) 
    updated_at = models.DateTimeField(auto_now_add=False, auto_now=True) 

    class Meta: 
     verbose_name = 'Proposition of the auction' 
     verbose_name_plural = 'Propositions of the auction' 

    def __str__(self): 
     return "%s" % (self.bit) 

Wenn ich löschen versuchen, einige auction ich habe Fehler

FOREIGN KEY constraint failed 
+0

zeigen fullerr trace bitte –

Antwort

0

Ich glaube nicht, das Problem über die Python-Version ist. Genau wie der Fehler sagt, haben Sie Fremdschlüssel-Constraint. In Ihrem Propose-Modell haben Sie also ein Feld namens Auction, das den ForeignKey der Modellauktion darstellt. Wenn Sie also eine Auktionsinstanz löschen möchten, wirkt sich dies auf die Daten in der Tabelle Vorschlagen aus.

Verwandte Themen