[PYTHON] So schreiben Sie eine benutzerdefinierte Validierung in Django REST Framework

Überblick

Ich habe es überprüft, als ich die App erstellt habe, also werde ich es schreiben, damit ich es aufrufen kann, wenn ich es vergesse.

In Django habe ich eine saubere Methode zur Validierung in das Formular eingefügt, aber ich dachte, dass Django REST Framework überhaupt eine benutzerdefinierte Validierung schreiben würde, also habe ich sie untersucht.

Wie schreibt man

Schreiben Sie jede Validierung in seliarizers.py.

Funktionsbasiert

Schreiben Sie wie folgt.

#Überprüfen Sie, ob Sie ein Erwachsener sind
def validate_age(age):
    if age < 21:
      raise serializers.ValidationError('Für Minderjährige ist es zu früh!')

Klassenbasiert

Schreiben Sie in der Klassenbasis mit der Methode __call__.

Da es auf Klassenbasis in hohem Maße wiederverwendbar ist, ist die Sichtbarkeit des Codes besser, wenn Sie dies grundsätzlich verwenden.

class AgeValidator(object):
    def __init__(self,num):
        self.num = num
    def __call__(self,age):
        if age < self.num:
            message = 'This page is for Adult!'
            raise serializers.ValidationError(message)

Recommended Posts

So schreiben Sie eine benutzerdefinierte Validierung in Django REST Framework
So erstellen Sie eine Rest-API in Django
Wie man mit verstümmelten Charakteren in json von Django REST Framework umgeht
So können Sie die Funktionen des Django Rest Frameworks in einer Datei ausprobieren
Wie man nüchtern mit Pandas schreibt
Zurücksetzen des Passworts über die API mit dem Django Rest Framework
So generieren Sie eine Abfrage mit dem IN-Operator in Django
Wie man CSS in Django reflektiert
Wie schreibe ich Django1.9 umweltunabhängig wsgi.py
Wie man in Django die angezeigte lange Zeichenkette in der Mitte abkürzt ....
Das 15. Offline-Echtzeit-Schreiben eines Referenzproblems in Python
Das 14. Referenzproblem beim Schreiben in Echtzeit in Python
Erstellen Sie eine REST-API, um dynamodb mit dem Django REST Framework zu betreiben
Das 18. Offline-Echtzeit-Schreiben eines Referenzproblems in Python
Logisches Löschen in Django, DRF (Django REST Framework)
Verstehen Sie den Komfort des Django Rest Framework
So überprüfen Sie die Version von Django
So löschen Sie abgelaufene Sitzungen in Django
Verschiedene Hinweise zum Django REST-Framework
Verschiedene Kommentare im Programm zu schreiben
So führen Sie vom Server gesendete Ereignisse in Django durch
Wie schreibe ich diesen Prozess in Perl?
Wie schreibe ich Ruby to_s in Python
Implementierung der benutzerdefinierten Authentifizierungsfunktion für Benutzermodelle in Django REST Framework mit djoser
17. In Python implementiertes Referenzproblem für das Offline-Schreiben in Echtzeit
So schreiben Sie den richtigen Shebang in Perl-, Python- und Ruby-Skripten
So erstellen Sie eine Anwendung aus der Cloud mithilfe des Django-Webframeworks
Verwendung der C-Bibliothek in Python
So implementieren Sie Rails-Helfer-ähnliche Funktionen in Django
So reflektieren Sie ImageField in Django + Docker (Kissen)
So drucken Sie Debug-Meldungen auf der Django-Konsole
Tipps zum Schreiben werden in Python kurz abgeflacht
Django REST Framework Ein wenig nützlich zu wissen.
So erhalten Sie die Dateien im Ordner [Python]
Implementieren Sie die JWT-Anmeldefunktion im Django REST-Framework
Wie schreibe ich ein benanntes Tupeldokument im Jahr 2020?
Implementierung der Authentifizierungsfunktion in Django REST Framework mit djoser
So identifizieren Sie die Zugriffsquelle in der generischen Klassenansicht von Django eindeutig
So zählen Sie die Anzahl der Elemente in Django und geben sie in die Vorlage aus
So generieren Sie automatisch ein API-Dokument mit dem Django REST-Framework und POST vom Dokumentbildschirm
Ich bin süchtig nach dem Unterschied, wie Flask und Django JSON-Daten empfangen
So installieren Sie das Deep Learning Framework Tensorflow 1.0 in der Windows Anaconda-Umgebung
Ich möchte eine API erstellen, die ein Modell mit einer rekursiven Beziehung im Django REST Framework zurückgibt
Grundlagen des Django REST-Frameworks
Tipps zum Django Rest Framework
20. Offline-Echtzeit So schreiben Sie Probleme in Python
So rufen Sie den n-ten größten Wert in Python ab
Lernnotizen für die Migrationsfunktion im Django-Framework (2)
So erhalten Sie den Variablennamen selbst in Python
Ausführen des in Ansible Tower hinzugefügten Ansible-Moduls
So schreiben Sie eine GUI mit dem Befehl maya
So erhalten Sie mehrere Modellobjekte zufällig in Django
So ermitteln Sie die Anzahl der Stellen in Python
So schreiben Sie in Python die Verkettung von Zeichenfolgen in mehrere Zeilen
Wie Sie das aktuelle Verzeichnis in Python in Blender kennen
Lassen Sie uns eine Todo-App mit dem Django REST-Framework erstellen
Setzen Sie DateField des Formulars in Django auf type = date