Django - Base de données

Table des matières
Une fois le modèle et tout ce qui s'y rapporte établis, l'aspect suivant à prendre en compte est la manière dont les différents champs interagissent avec la base de données.
Lorsque nous parlons du comportement de la base de données, nous nous référons à la manière dont nous devons voir comment les données sont préparées pour être stockées, la manière dont nous faisons des comparaisons avec les types de données de Python avec lesquels leurs valeurs sont représentées dans notre application en Django.
db_type (auto, connexion)
Cette méthode est rarement remplacée par les classes et sous-classes d'application, elle renvoie une chaîne contenant des données de base de données spécifiques qui contrôlent la manière dont les colonnes de certains champs sont créées.
Il est important de mentionner que la valeur retournée avec cette méthode est particulière au back-end base de données utilisée dans l'application, donc si nous décidons de l'utiliser dans des projets avec différents backends de base de données, nous devons obtenir la valeur de la connexion en utilisant connection.settings_dict ['MOTEUR']
Voyons dans l'image suivante comment nous pouvons traduire en code l'utilisation basique de cette méthode :

Lors de l'analyse du code, nous voyons que si le moteur de base de données est postgreSQL nous allons retourner une valeur pour le champ, différente de s'il s'agit d'un autre moteur tel que MySQL, nous pouvons donc voir un petit exemple de l'utilité de cette méthode.
get_prep_value (soi, valeur)
C'est une méthode qui sert de base à d'autres méthodes qui doivent préparer les données à l'usage de la base de données.
Dans la plupart des cas, la conversion de objets python à des données plus simples qui peuvent être transférées vers la base de données ne représente pas un problème majeur et nous pouvons utiliser la conversion standard, cependant lorsque nous voulons faire des conversions plus complexes comme un type de date, nous pouvons utiliser cette méthode pour nous occuper de ce travail, dans le graphique suivant, nous avons un moyen d'y parvenir que nous avons décrit.

Dans l'exemple lors de la définition d'un type de champ ChampDurée on écrase la méthode get_prep_value () afin qu'il prenne l'objet date et le transforme en valeurs décimales pour pouvoir l'utiliser dans la base de données sans autre complication.
get_db_prep_value (self, value, connection, ready = False)
Il y a des cas dans lesquels notre application s'exécute dans plus d'un moteur de base de données, pour cela cette méthode nous permet de préparer les données basées sur le moteur, grâce à la connection.settings_dict ['MOTEUR'] nous pouvons incorporer différents cas selon le moteur.
Un exemple est lorsque nous travaillons avec postgreSQL, ce moteur peut gérer les objets date directement, donc si nous détectons que c'est bien cela, nous pouvons passer la valeur directement, voyons dans l'exemple ci-dessous comment nous combinons cette méthode et la précédente à obtenir un résultat plus robuste :

Avec cela, nous terminons le tutoriel, sachant que nous pouvons contrôler le comportement de la base de données dans Django utiliser les méthodes de préparation des données des champs d'un modèle.Avez-vous aimé et aidé ce tutoriel ?Vous pouvez récompenser l'auteur en appuyant sur ce bouton pour lui donner un point positif

Vous contribuerez au développement du site, partager la page avec vos amis

wave wave wave wave wave