in einem Serializer aus dem Feld Feldern verwenden, Validierung Fehlermeldungen in etwa so aussehen:Validierungscodes und Meldungen in Django übrigen Rahmen
{
"product": [
"This field must be unique."
],
"price": [
"This field is required."
]
}
jedoch für den API ich schreibe, würde ich bieten möge ein eindeutiger Fehlercode für jede fehlgeschlagene Validierung, sodass Clients programmgesteuert auf Validierungsfehler reagieren können oder ihre eigenen benutzerdefinierten Nachrichten in einer Benutzeroberfläche bereitstellen können. Im Idealfall würde der Fehler json etwa wie folgt aussehen:
{
"product": [
{
"code": "unique",
"message": "This field must be unique."
}
],
"price": [
{
"code": "required",
"message": "This field is required."
}
]
}
Der derzeitige Ansatz validationerrors macht dies ziemlich schwierig werden. Beim Durchsehen des Codes scheint diese Art der Fehlerberichterstattung derzeit nicht unterstützt zu werden. Ich suche jedoch nach einem Ansatz, um die Fehlerbehandlung zu überschreiben, um zu diesem Modell zu passen.
Könnten Sie die 'Serializer.is_valid' Methode überschreiben, ein Validation fangen, und die Art und Weise, es zu dem Fehler Wörterbuch hinzugefügt wird? Das setzt voraus, dass DRF oder Django die 'code' Werte hinzufügt, nach denen Sie suchen. – kdazzle
Lassen Sie mich raten: Sie verwenden newforms (https://github.com/insin/newforms) – Catskul
Tatsächlich gibt es Diskussionen für die Einbettung einer solchen Unterstützung in DRF, siehe https://github.com/tomchristie/django- rest-framework/pull/3169 –