15 votes

Django : Récupérer des données à partir de différentes bases de données

Je veux sélectionner des données dans une table de base de données qui ne fait pas partie de mon projet Django. J'ai ajouté les informations de connexion à la base de données dans le fichier de configuration et je peux effectuer des requêtes SQL brutes pour extraire les données. Cependant, j'aimerais créer un modèle pour cette table et pouvoir accéder aux données comme je le ferais pour tout autre modèle de données Django.

Est-ce possible ? Je ne trouve aucune documentation à ce sujet.

21voto

George Cummins Points 16354

Le site Django : Bases de données multiples contient de bonnes informations sur ce sujet. Après avoir configuré vos bases de données dans settings.py, vous pouvez utiliser .using() pour spécifier la base de données que vous souhaitez interroger.

Exemples tirés de la documentation :

>>> # This will run on the 'default' database.
>>> Author.objects.all()

>>> # So will this.
>>> Author.objects.using('default').all()

>>> # This will run on the 'other' database.
>>> Author.objects.using('other').all()

4voto

Samuele Mattiuzzo Points 4769

Bien sûr, il suffit d'utiliser

SomeObject.objects.using('database_name').all()

pour faire vos recherches

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X