Django est un cadre de développement web de haut niveau qui supporte de multiples bases de données. Cela signifie que vous pouvez travailler avec plus d’une base de données dans votre application Django. Voici comment faire:
Tout d’abord, vous devez définir les bases de données dans vos paramètres Django. Vous pouvez le faire en modifiant le dictionnaire DATABASES dans votre fichier settings.py (source : Django documentation).
Voici un exemple de la façon dont vous pourriez définir plusieurs bases de données:
```
DATABASES = {
‘default’: {
‘ENGINE’: ‘django.db.backends.postgresql’,
‘NAME’: ‘mydatabase’,
‘USER’: ‘mydatabaseuser’,
‘PASSWORD’: ‘mypassword’,
‘HOST’: ‘localhost’,
‘PORT’: ‘5432’,
},
‘another’: {
‘ENGINE’: ‘django.db.backends.mysql’,
‘NAME’: ‘anotherdatabase’,
‘USER’: ‘anotherdatabaseuser’,
‘PASSWORD’: ‘anotherpassword’,
‘HOST’: ‘localhost’,
‘PORT’: ‘3306’,
}
}
```
(Notez que les valeurs ci-dessus sont des exemples et devraient être remplacées par les vraies valeurs pour vos bases de données)
Une fois que vous avez défini vos bases de données, vous pouvez utiliser la fonction `using()` pour spécifier quelle base de données utiliser lors de l’exécution des requêtes. Par exemple:
```
Mais que faire si vous voulez que certains modèles utilisent toujours la même base de données? Django vous permet de faire cela en utilisant des routeurs de base de données.
Un routeur de base de données est une classe Python qui fournit des méthodes pour déterminer comment acheminer les opérations de base de données pour certains modèles ou requêtes (source : Django documentation).
Un exemple simple de routeur peut ressembler à ceci:
```
class AnotherDatabaseRouter:
def db_for_read(self, model, **hints):
if model._meta.app_label == ‘anotherapp’:
return ‘another‘
return None
Pour utiliser votre routeur de base de données, vous devez l’ajouter à la liste DATABASE\_ROUTERS dans vos paramètres.
En suivant ces étapes, vous pouvez utiliser plusieurs bases de données avec Django. Pour les détails de ces fonctionnalités, consultez la documentation officielle de Django : https://docs.djangoproject.com/fr/3.1/topics/db/multi-db/.