【问题标题】:Multiple databases (mongodb[mongoengine] and sql ) with django 1.8django 1.8 的多个数据库(mongodb[mongoengine] 和 sql)
【发布时间】:2017-07-07 05:54:06
【问题描述】:

我在 Django 中使用 mongoengine,我的项目需要连接到一个 MongoDB 实例,而另一个使用 sql。我的 setting.py 数据库部分应该是什么样的?

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'admin_db',
        'USER': 'root',
        'PASSWORD': 'root',
        'HOST': 'localhost',
    },

}

from mongoengine import connect
connect(
db='pom',
username='admin',
password='root',
host='mongodb://admin:root@localhost'
)

【问题讨论】:

  • 您的默认数据库是哪个? mysql 还是 mongo db??
  • 你在使用 django-nonrel 吗?
  • 我想同时使用 mongodb 和 sql 数据库。我的默认数据库是 sql,不,我没有使用 django-nonrel,而是使用 MongoEngine

标签: django mongodb mongoengine


【解决方案1】:

您可以在 settings.py 中为您的应用添加多个数据库,例如,

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'admin_db',
        'USER': 'root',
        'PASSWORD': 'root',
        'HOST': 'localhost',
    },

    'your_desired_db_name' : {
        'ENGINE' : 'django_mongodb_engine',
        'NAME' : 'db_name'
}

与mongodb集成,可能需要查找,

另外,您可能需要查找 Django 文档以了解 multiple databases

【讨论】:

  • 我正在使用 django1.8,而 Django-MongoEngine 不用于 django 1.8,因此我使用的是 MongoEngine 进行集成。所以我需要我的 setting.py 文件以符合 MongoEngine。
【解决方案2】:

MongoEngine 不直接支持所有 Django contrib 模块。如果您的项目不需要它们(不太可能),您可以直接使用 mongoengine。否则你也可以试试

这似乎适用于最新的 Django 版本。

【讨论】:

  • 我们正在尝试使用 Djongo,但它没有按预期工作。我在你的仓库中发布了一个问题。
  • 这看起来不是 djongo 的问题,而是你的脚本。登录管理员是一项基本操作。在我的设置上运行良好。
  • 请看我问的这个问题stackoverflow.com/questions/50700546/…
猜你喜欢
  • 1970-01-01
  • 2023-03-25
  • 1970-01-01
  • 1970-01-01
  • 2016-12-24
  • 2016-01-15
  • 2010-12-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多