[PYTHON] Comment écrire une validation personnalisée dans Django REST Framework

Aperçu

Je l'ai vérifié lorsque j'ai créé l'application, donc je vais l'écrire pour pouvoir l'appeler quand je l'oublierai.

Dans Django, j'avais l'habitude de mettre une méthode propre dans le formulaire de validation, mais je pensais que Django REST Framework écrirait une validation personnalisée en premier lieu, alors je l'ai étudiée.

Comment écrire

Écrivez chaque validation dans seliarizers.py.

Basé sur la fonction

Écrivez comme suit.

#Validez si vous êtes un adulte
def validate_age(age):
    if age < 21:
      raise serializers.ValidationError('Il est trop tôt pour les mineurs!')

Basé sur la classe

Dans la base de classe, écrivez en utilisant la méthode __call__.

De plus, comme il est hautement réutilisable sur une base de classe, son utilisation améliorera la visibilité du code.

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

Comment écrire une validation personnalisée dans Django REST Framework
Comment créer une API Rest dans Django
Comment gérer les caractères déformés dans json de Django REST Framework
Comment vous permettre d'essayer les fonctionnalités du framework django rest dans un seul fichier
Comment écrire sobrement avec des pandas
Comment réinitialiser le mot de passe via l'API à l'aide du framework Rest Django
Comment générer une requête à l'aide de l'opérateur IN dans Django
Comment refléter CSS dans Django
Comment écrire un fichier wsgi.py indépendant de l'environnement Django1.9
Dans Django, comment abréger la longue chaîne de caractères affichée au milieu ...
Le 15e comment écrire un problème de référence en temps réel hors ligne en Python
Le 14ème problème de référence d'écriture en temps réel hors ligne en python
Créer une API REST pour faire fonctionner dynamodb avec le Framework Django REST
Le 18ème comment écrire un problème de référence en temps réel hors ligne en Python
Suppression logique dans Django, DRF (Django REST Framework)
Comprendre la commodité de Django Rest Framework
Comment vérifier la version de Django
Comment supprimer des sessions expirées dans Django
Notes diverses sur le framework Django REST
Divers commentaires à écrire dans le programme
Comment faire des événements envoyés par le serveur dans Django
Comment écrire ce processus en Perl?
Comment écrire Ruby to_s en Python
Implémentation de la fonction d'authentification du modèle utilisateur personnalisé dans Django REST Framework à l'aide de djoser
17ème problème de référence d'écriture en temps réel hors ligne implémenté en Python
Comment écrire le bon shebang dans les scripts Perl, Python et Ruby
Comment créer une application à partir du cloud à l'aide du framework Web Django
Comment utiliser la bibliothèque C en Python
Comment implémenter la fonctionnalité de type helper Rails dans Django
Comment refléter ImageField dans Django + Docker (oreiller)
Comment imprimer des messages de débogage sur la console Django
Conseils pour rédiger un aplatissement concis en python
Framework Django REST Un peu utile à savoir.
Comment obtenir les fichiers dans le dossier [Python]
Implémenter la fonctionnalité de connexion JWT dans le framework Django REST
Comment écrire un document tuple nommé en 2020
Implémentation de la fonction d'authentification dans Django REST Framework à l'aide de djoser
Comment identifier de manière unique la source d'accès dans la vue de classe générique Django
Comment compter le nombre d'éléments dans Django et sortir dans le modèle
Comment générer automatiquement un document API avec le framework Django REST et POST à partir de l'écran de document
Je suis accro à la différence dans la façon dont Flask et Django reçoivent les données JSON
Comment installer le framework d'apprentissage en profondeur Tensorflow 1.0 dans l'environnement Windows Anaconda
Je souhaite créer une API qui retourne un modèle avec une relation récursive dans Django REST Framework
Bases du framework Django REST
Astuces Django Rest Framework
20e Comment écrire des problèmes en temps réel hors ligne en Python
Comment récupérer la nième plus grande valeur en Python
Notes d'apprentissage pour la fonction migrations dans le framework Django (2)
Comment obtenir le nom de la variable lui-même en python
Comment exécuter le module Ansible ajouté dans Ansible Tower
Comment écrire une interface graphique à l'aide de la commande maya
Comment obtenir plusieurs objets de modèle au hasard dans Django
Comment obtenir le nombre de chiffres en Python
Comment écrire une concaténation de chaînes sur plusieurs lignes en Python
Comment connaître le répertoire actuel en Python dans Blender
Essayez de créer une application Todo avec le framework Django REST
Définissez DateField du formulaire sur type = date dans Django