folgendes Problem ist mir gerade in Django bzw. bei der Verarbeitung von im DjangoAdmin eingegebenen Daten untergekommen.
Ich habe ein ein models.DecimalField, was optional angegeben werden kann (blank=True, null=True). In meiner Verarbeitung der Daten prüfe ich, ob das Feld gesetzt ist.
Gibt jetzt ein User aus Versehen dort keine Zahl ein erhalte ich einen KeyError.
Dieser Fehler tritt eigentlich nur auf, wenn ich meine eigene Datenverarbeitung aufrufe.
Ansonsten kommt von Django eine ganz normale Fehlermeldung, dass man doch bitte eine Zahl eingeben möchte.
Also kommt meine Datenverarbeitung wohl noch bevor die djangoeigene clean-Methode darüberläuft. Meine Datenvrarbeitung wird nämlich in meiner eigenen clean-Methode aufgerufen, da ich hier bei Fehlern eigene ValidationErrors im Admin ausgeben kann.
Das realisiere ich so:
Code: Alles auswählen
def clean(self):
...
export = IS24Export(self.cleaned_data)
...
return self.cleaned_data