database - english - docs django project
Django: Detectar el backend de la base de datos (1)
De acuerdo, hay dos formas de hacerlo, ya que @ Ricola3D dice que existe la opción de verificar la settings.DATABASES[''default''][''ENGINE'']
BASES DE DATOS settings.DATABASES[''default''][''ENGINE'']
:
>>> from django.conf import settings
>>> settings.DATABASES[''default''][''ENGINE'']
''django.db.backends.sqlite3'' or ''django.db.backends.postgresql_psycopg2''
Pero también hay una propiedad de proveedor (no documentada) en una conexión:
>>> from django.db import connection
>>> connection.vendor
''postgresql'' or ''sqlite''
De cualquier manera funciona. Personalmente prefiero connection.vendor
ya que se ve más bonita :)
Estoy haciendo algunas consultas "extra" en Django que necesitan trabajar tanto en sqlite como en postgres. La sintaxis de estas consultas varía según el backend, pero no tengo forma de averiguar si estoy enviando mis consultas a postgres o sqlite.
¿Hay alguna forma de obtener el adaptador de base de datos actual para poder bifurcar mi código y enviar la consulta correcta para el servidor de base de datos activo?