Utilisation de la valeur par défaut de NULL dans le modèle Django

Utilisation de la valeur par défaut de NULL dans le modèle Django
Le modèle est l'une des parties importantes de l'application Django basée sur la base de données. Le modèle définit la structure de la base de données. Le type de données de la table de base de données et la manière d'insérer des données basés sur différents attributs sont décrits dans le modèle. La validation des données peut être contrôlée en utilisant le modèle également. Chaque tableau de la base de données contient un nombre particulier de champs ou de colonnes. Le modèle définit le type de chaque champ de la table. L'attribut par défaut est utilisé dans le modèle pour définir une valeur par défaut pour une zone particulière si l'utilisateur pour ce champ n'inserte aucune donnée. La valeur par défaut d'un champ peut être blanc ou toute valeur spécifique. Le nul et blanc Les valeurs ne sont pas les mêmes. nul est utilisé pour définir que la valeur vide est autorisée ou non pour un champ particulier. Si la nul est réglé sur FAUX, Ensuite, la chaîne vide ne sera pas autorisée dans le champ de type entier, mais la chaîne vide peut être attribuée dans le champ de type chaîne. Si la nul est réglé sur Vrai, Ensuite, la valeur nul sera donnée dans le champ de type entier à la place d'une chaîne vide. Blank est utilisé pour la validation du formulaire principalement et ne vérifie pas le type de données du champ. La façon d'utiliser défaut et nul Les attributs du modèle Django ont montré ce tutoriel.

Conditions préalables:

Avant de pratiquer le script de ce tutoriel, vous devez effectuer les tâches suivantes.

UN. Installez la version 3+ de Django sur Ubuntu 20+ (de préférence)
B. Créer un projet Django
C. Exécutez le serveur Django pour vérifier que le serveur fonctionne correctement ou non.

Configurer une application Django:

UN. Exécutez la commande suivante pour créer une application django nommée DatabaseApp.

$ python3 gérer.py startapp databaseApp

B. Exécutez la commande suivante pour créer l'utilisateur pour accéder à la base de données Django. Si vous avez déjà terminé l'utilisateur, vous n'avez pas besoin d'exécuter la commande.

$ python3 gérer.py créeuperuser

C. Ajouter le nom de l'application dans le Installé_app partie des paramètres.fichier PY.

Installé_apps = [

'ValidationApp'
]]

D. Créer un dossier nommé modèles à l'intérieur de DatabaseApp dossier et définissez le modèle Emplacement de l'application dans le Modèles partie de la paramètres.py déposer.

Modèles = [

… .
'DIRS': ['/ home / Fahmida / django_pro / databaseApp / Templates'],
… .
,
]]

Modèle de conception avec les attributs par défaut et nuls:

Modifier le des modèles.py fichier avec le script suivant pour créer un tableau nommé des produits qui contiendra quatre champs sans le champ ID. Ces noms, prix, fabrication_date et expire_date. La valeur du nul L'attribut est défini sur TRUE pour tous les champs. La valeur de le blanc L'attribut est défini sur TRUE pour tous les champs également. Cela signifie que l'utilisateur peut garder les champs vides avant de soumettre le formulaire qui utilisera ce modèle. Le défaut La valeur d'attribut est définie pour le prix, manufacturing_date et expire_date.

des modèles.py

# Module des modèles d'importation
De Django.Modèles d'importation DB
# Créer une classe pour définir la table des enseignants
Produit de classe (modèles.Modèle):
nom = modèles.Charfield (max_length = 50, null = true, blank = true)
Prix ​​= modèles.IntegerField (null = true, default = ", blank = true)
manufacturing_date = modèles.DateField (null = true, default = '0000-00-00', vierge = true)
expire_date = modèles.DateField (null = true, default = '0000-00-00', vierge = true)

Exécutez les commandes de migration suivantes pour créer les fichiers de migration nécessaires et la table de base de données de la base de données SQLite.

$ python3 gérer.py makemigrations databaseApp
$ python3 gérer.py migrer

Insertion de données à l'aide du tableau de bord de l'administration Django:

Modifier le contenu de l'administrateur.py fichier avec le script suivant pour enregistrer le modèle dans la base de données.

administrer.py
Modifier le URL.py Fixez avec le script suivant pour définir le chemin d'accès pour ouvrir le tableau de bord administratif de Django.

URL.py

# Importer le module d'administration
De Django.contriber d'importation administrateur
# Module d'importation de chemin
De Django.Chemin d'importation des URL
# Définir le chemin du client et de l'administrateur
urlpatterns = [
Path ('admin /', admin.placer.URL)
]]

Maintenant, exécutez le serveur Django et accédez au tableau de bord administratif de Django en utilisant l'URL suivante.

http: // localhist: 8000 / admin

Ouvrez le formulaire d'entrée du produit en cliquant Ajouter le produit. Si l'utilisateur soumet le formulaire sans insérer de données, la sortie suivante apparaîtra dans le navigateur. Ici, deux champs de date affichent des erreurs car la valeur par défaut du champ Date n'est pas dans un format valide.

La sortie suivante apparaîtra après avoir ajouté les données de date valides. Ici le prix Le champ est vide pour utiliser l'attribut par défaut.

Insertion de données à l'aide du modèle:

La façon d'insérer des données dans le des produits Le tableau utilisant le formulaire HTML a été montré dans cette section. Ici, les éléments de forme seront générés en fonction du modèle créé précédemment.

formes.py

# Module d'importation des formulaires
à partir des formulaires d'importation de Django
# Importer un modèle client
De DBApp.Modèles Importer un produit
# Définir la classe pour le formulaire client
Classe ProductForm (Formulaires.Modelform):
Classe Meta:
modèle = produit
Fields = '__All__'

Créer le fichier html nommé produit.html à l'intérieur de modèles dossier de l'application avec le script suivant. Les données de formulaire seront soumises lorsque l'utilisateur cliquera sur le Sauvegarder bouton.

produit.html

Formulaire d'entrée client



% csrf_token%
former.as_p

Modifier le vues.py fichier avec le script suivant pour insérer des données dans le des produits table après validation du formulaire. AddProduct () La fonction est définie dans le script pour vérifier que le formulaire est soumis ou non, et si le formulaire est soumis, il vérifiera les données du formulaire valides ou non valides. Si est valable() Renvoie la fonction vrai, Ensuite, les données seront insérées dans le des produits table, et un message de réussite sera affiché dans le navigateur.

vues.py

# Importer le module HTTPResponse
De Django.http.Réponse importation httpResponse
# Module d'importation
De Django.Raccourcis
# Importer ProductForm
De DBApp.Forms Import ProductForm
# Définissez la fonction pour ajouter l'entrée du produit
def addProduct (demande):
Si demande.Méthode == "Post":
formulaire = produit (demande.POSTE)
# Si les données du formulaire sont valides ou non
Si la forme.est valable():
essayer:
# Enregistrer les données du formulaire dans la base de données
former.sauvegarder()
# Définir le message pour l'utilisateur
data = ['

Le produit ajouté.

']
# Renvoie la réponse
retourner httpResponse (données)
sauf:
passer
autre:
# Définir l'objet de formulaire
form = ProductForm ()
# Afficher le formulaire d'entrée de produit
Renvoi de retour (demande, «produit.html ', ' form ': form)

Modifier le URL.py fichier avec le script suivant pour définir le chemin d'accès pour appeler la fonction de vue.

URL.py

# Importer le module d'administration
De Django.contriber d'importation administrateur
# Module d'importation de chemin
De Django.Chemin d'importation des URL
# Affichage d'importation
à partir des vues d'importation DBApp
# Définir le chemin du client et de l'administrateur
urlpatterns = [
Path (", vues.AddProduct),
Path ('admin /', admin.placer.URL)
]]

Maintenant, exécutez le serveur Django et ouvrez l'URL de base dans le navigateur.

http: // localhist: 8000 /

Le formulaire suivant apparaîtra.

Ce qui suit Value Enerror apparaîtra si l'utilisateur soumet le formulaire sans ajouter de données dans le formulaire. Ici le prix Le champ est un entier qui ne peut pas être la chaîne vide.

Si l'utilisateur entre dans les données valides comme le formulaire ci-dessous et appuie Sauvegarder Bouton, un nouvel enregistrement de produit sera inséré dans la base de données.

L'image suivante apparaîtra si vous ouvrez l'enregistrement nouvellement inséré du tableau de bord Django.

Conclusion:

Un modèle a été conçu en utilisant NULL et les attributs par défaut dans ce tutoriel. Ensuite, les façons d'insérer des données dans ces champs dans le back-end et le front-end sont montrées ici pour aider le lecteur à connaître les utilisations des attributs par défaut et nuls dans la base de données Django.