2015-09-28 82 views
2

在我的Django项目中,我希望使用仅在postgresql中可用的queryset方法(如果使用postgresql)。如何检查在Django项目中使用哪个数据库

如何从settings.DATABASES中检查数据库?

假设这种结构:

DATABASES = { 
    'default': { 
     'ENGINE': 'django.db.backends.postgresql_psycopg2', # could be: 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle' 

我的Python技能太弱遍历字典=的那个结构(

回答

1
from django.conf import settings 

if settings.DATABASES['default']['ENGINE'] == 'django.db.backends.postgresql_psycopg2': 
    # happy coding 
4

这让您在settings.DATABASES配置为default后端数据库的名称:

>>> from django.db import connection 
>>> print connection.vendor 
'sqlite' 

如果您有多个le数据库配置:

>>> from django.db import connections 
>>> print connections['default'].vendor 
'mysql' 
>>> print connections['reporting'].vendor 
'postgresql' 
相关问题