[Django] Créez un modèle adapté au numéro de téléphone / code postal

Lors de la création d'une application avec Django seul, il peut être préférable de valider avec le formulaire, mais si vous fournissez principalement une API en tant que Django REST Framework, vous souhaitez également valider avec Model Voici un exemple de validation des champs de numéro de téléphone et de code postal

models.py


from django.db import models
from django.core.validators import RegexValidator

class SampleModel(model.model):
	tel_number_regex = RegexValidator(regex=r'^[0-9]+$', message = ("Tel Number must be entered in the format: '09012345678'. Up to 15 digits allowed."))
	tel_number = models.CharField(validators=[tel_number_regex], max_length=15, verbose_name='numéro de téléphone')
	postal_code_regex = RegexValidator(regex=r'^[0-9]+$', message = ("Postal Code must be entered in the format: '1234567'. Up to 7 digits allowed."))
	postal_code = models.CharField(validators=[postal_code_regex], max_length=7, verbose_name='Code postal') 

De cette façon, vous pouvez valider avec des expressions régulières. Si vous envoyez une demande qui ne correspond pas, le message défini pour chacun sera renvoyé

Si vous souhaitez sauvegarder l'enregistrement avec des traits d'union, il est préférable d'écrire une expression régulière appropriée dans regex =

En passant, j'aimerais pouvoir définir max_length lorsque j'ai défini chaque expression régulière, mais je ne pouvais pas.

Recommended Posts

[Django] Créez un modèle adapté au numéro de téléphone / code postal
Créez un modèle pour votre planning Django
Créez un tableau de bord pour les appareils réseau avec Django!
Créer un planning Django
Créer une page d'accueil avec django
Créer un écran de connexion Django
Créez une API d'intégration sociale pour les applications smartphone avec Django
[Python] Créer un écran pour le code d'état HTTP 403/404/500 avec Django
Étapes pour créer un projet Django
Créer un téléchargeur de fichiers avec Django
Créer un bot LINE avec Django
Créez un modèle de prédiction de survie pour les passagers du Kaggle Titanic sans utiliser Python
Créons un environnement virtuel pour Python
Commandes pour créer un nouveau projet django
Obtenir un modèle de référence à l'aide de Django Serializer
Créer un dictionnaire Hatena pour SKK (supplémentaire)
Implémenter un modèle utilisateur personnalisé dans Django
Ecrire brièvement if-else du template Django
[Django] Créez un formulaire qui remplit automatiquement l'adresse à partir du code postal