Frage : Wie schreibt man DRY-Code für die Feldvalidierung in Form und Serializer?
Beispiel :
Ich habe eine einfache Django-App mit Modellform, die passengers
-Feld für Order
validiert:
Und der gleiche Code für die Validierung in Order
Serializer:
Das ist nicht DRY und ich habe zweimal dieselbe Logik geschrieben. Wie kann ich das vermeiden? Vielleicht kann ich den Serializer vom Formular oder etwas ähnliches erben.
Hier meine Implementierung der wiederverwendbaren Validierungsklasse für Modellformen. Alle nativen Django-Dinge sind hier außer neu geschriebene get_serializer
method. Geprüfter Arbeitszustand mit Django 1.8.13.
Und hier ist ein Anwendungsbeispiel:
%Vor% Ich würde vorschlagen, alle Validierung (wenn möglich) in das Modell (Validatoren oder clean
) zu setzen.
ModelForm
und ModelSerializer
verwenden Sie dann die Modus-Validierung.
Tags und Links python django django-rest-framework