在django1.8中使用mysql和mongodb

时间:2016-02-08 10:27:46

标签: python django django-database

我正在创建一个django Web应用程序,我需要同时使用mysql和mongodb。

因此我使用了mongoengine:

mongoengine.connect("mongodb://username:password@localhost:27017/dbname")

在我的django / settings.py中:

DATABASES = {
   'default': 
       'ENGINE': "django.db.backends.mysql",
        'NAME': "dbname",
        "USER": "username",
        "PASSWORD": "password",
        "HOST": "localhost",
        "PORT": "3306",
}

如何在此处为MongoDB配置另一个连接并使用它在routers.py中返回

我正在使用Django 1.8,因此我无法使用django-norel/django-mongodb-engine

1 个答案:

答案 0 :(得分:-1)

DATABASES = {
    'default': {
        "ENGINE": "django.db.backends.mysql",
        "NAME": "dbname",
        "USER": "username",
        "PASSWORD": "password",
        "HOST": "localhost",
        "PORT": "3306",
    },
    'users': {
        'NAME': 'user_data',
        'ENGINE': 'django.db.backends.mysql',
        'USER': 'mysql_user',
        'PASSWORD': 'priv4te'
    }
}

migrate management命令一次只能在一个数据库上运行。默认情况下,它在默认数据库上运行,但通过提供a --database参数,您可以告诉migrate同步另一个数据库。因此,要将所有模型同步到所有数据库,您需要调用:

$ ./manage.py migrate
$ ./manage.py migrate --database=users

我希望它有所帮助。