Sommaire

ORM divers

1. Gérer plusieurs bases de données

La quasi-totalité des exemples dans ce livre partent du principe que l’on utilise une base de données unique. Vous avez cependant vu dans ce chapitre apparaître l’attribut ou le paramètre using, permettant de spécifier une base de données alternative. Nous allons voir comment l’utiliser.

a. Première étape : définir plusieurs bases de données

Ouvrez le fichier settings.py et allez à la section « DATABASES= ». La variable DATABASES est un dictionnaire dont les clefs sont les noms utilisables dans Django pour spécifier une base de données. Le nom « default » est important car c’est la base que Django utilise par défaut si l’on ne lui précise pas quelle base utiliser.

Prenons un exemple pour lequel nous avons déclaré deux bases différentes et pas de base par défaut.

DATABASES = {  
    ’default’: {},  
    ’users’: {  
         ’NAME’: ’base_1’,  
        ’ENGINE’: ’django.db.backends.postgresql_psycopg2’,  
        ’USER’: ’XXXXXXX’,  
        ’PASSWORD’: ’XXXXX’  
    },  
    ’users’: {  
      ...