Maison > Article > base de données > Django peut-il gérer les clés étrangères dans différentes bases de données ?
Les utilisateurs de Django peuvent rencontrer une erreur lors de l'accès aux clés étrangères dans différentes bases de données. Cette erreur se produit lorsqu'un modèle d'une base de données tente de référencer un modèle d'une autre base de données.
Dans l'exemple fourni, un LinkModel est défini dans la base de données 'urls', tandis qu'un NewsModel est défini dans la base de données par défaut.
L'erreur se produit lors de la tentative d'attribution d'une instance LinkModel à le champ de clé étrangère d’un objet NewsModel. Le message d'erreur indique que l'instance attribuée se trouve dans la base de données « urls » tandis que l'objet NewsModel se trouve dans la base de données « par défaut ».
Selon Selon la documentation Django, les relations entre bases de données ne sont pas prises en charge pour les clés étrangères et les relations plusieurs-à-plusieurs. Cette limitation est imposée en raison de problèmes de compatibilité et de problèmes potentiels d'intégrité des données.
En plus de la limitation documentée, un bug dans la classe ForeignKey de Django les versions 1.2, 1.3 et 1.4rc1 peuvent également provoquer ce problème.
Une solution possible consiste à appliquer un correctif qui résout le bogue dans ForeignKey classe. Ce correctif peut être trouvé dans le système de tickets Django.
En appliquant ce correctif, il peut être possible d'établir des relations de clés étrangères entre différentes bases de données. Cependant, les utilisateurs doivent être conscients qu'il ne s'agit pas d'une fonctionnalité officiellement prise en charge et qu'elle peut introduire d'autres problèmes potentiels.
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!