Django - Unterscheiden Sie verschiedene Arten von IntegrityError

9

Ich benutze django + MySQL. Manchmal füge ich doppelte Daten in meine Datenbank ein, was bewirkt, dass django IntegrityErrror erhöht.

Das Problem ist, dass django / python denselben Fehler für mehrere der verschiedenen MySQL Fehler . Die einzige Möglichkeit, zwischen ihnen zu unterscheiden, besteht darin, den Fehlercode zu betrachten. Zum Beispiel

%Vor%

Meine Frage ist: Ist das sicher zu tun? Wenn ja, warum wird dies nicht auf einer niedrigeren Ebene umgesetzt? Es scheint, dass ich nicht der einzige sein kann, der eine feinere Kontrolle über IntegrityError will.

Danke!

BEARBEITEN

Code, um diesen Fehler zu beheben

%Vor%     
djs22 15.05.2013, 21:17
quelle

1 Antwort

3
  

Ist das sicher zu tun?

Dies ist nicht unsicher. Sie haben damit eine Kopplung zwischen Ihrer Anwendung und der Datenbank (MySQL) geschaffen. Was passiert, wenn Sie sich entscheiden, MySQL durch eine andere Datenbanklösung zu ersetzen? Die Fehlercodes werden geändert und Ihr Code wird zu inkonsistenten Meldungen führen.

  

Wenn ja, warum wird das nicht auf einer niedrigeren Ebene implementiert?

Wahrscheinlich für die gleiche Sorge, die ich habe.

    
rubayeet 16.05.2013 06:42
quelle

Tags und Links