Seite 1 von 1

DjangoAdmin: Problem mit clean-Methode

Verfasst: Donnerstag 25. Juni 2009, 12:02
von ferix
Hallo zusammen,

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
Die einfachste Lösung wäre sicher die Datenverarbeitung aus der clean-Methode rauszuhalten. Aber dann kann ich leider keine Validationerrors mehr im DjangoAdmin ausgeben. Gibt es nicht eine Möglichkeit vielleicht eine super clean Methode vor meiner Datenverarbeitung aufzurufen oder so ähnlich!?