Related_Name dans les champs ManyToManyField et ForeignKey de Django
Le framework Django offre un système ORM (Object-Relational Mapping) robuste, permettant des interactions pratiques avec bases de données. Deux types de champs critiques dans l'ORM de Django sont ManyToManyField et ForeignKey.
Objectif de l'argument Related_Name
Un aspect important de ces champs est l'argument Related_name. Il spécifie le nom de la relation dans le sens inverse, du modèle associé au modèle actuel. Par défaut, Django attribue automatiquement un nom de relation inverse en utilisant la convention de dénomination "[rated_model_name]_set". Cependant, l'argument Related_name permet de personnaliser ce nom.
Utilisation dans un ManyToManyField
Considérons le code suivant comme exemple :
class Map(db.Model): members = models.ManyToManyField(User, related_name='maps', verbose_name=_('members'))
Dans ce code, le Related_name='maps' précise que dans le modèle User, le nom de la relation inverse pour le modèle Map sera "maps".
Avantages de la personnalisation du nom_connexe
La personnalisation du nom_connexe offre plusieurs avantages :
Désactivation de la relation ascendante
Si vous souhaitez désactiver entièrement la création de la relation ascendante, vous pouvez définir Related_name=' '. Cette option est utile lorsque vous n'avez pas besoin d'un accès inversé au modèle associé.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!