简体   繁体   English

无法在 Pycharm 中使用 Django 连接到 MongoDB

[英]Unable to connect to a MongoDB using Django in Pycharm

I am attempting to create a basic application to get a better understanding of Django.我正在尝试创建一个基本的应用程序来更好地了解 Django。 I would really like to use a MongoDB database, and have MongoDB set up locally on my machine.我真的很想使用 MongoDB 数据库,并在我的机器上本地设置 MongoDB。 I am able to connect via MongoDB Compass and have created some basic collections/dbs.我能够通过 MongoDB Compass 进行连接并创建了一些基本的集合/数据库。

In my Django application, I have djongo and pymongo installed.在我的 Django 应用程序中,我安装了 djongo 和 pymongo。 My pip list .我的pip list

Package     Version
----------- -------
asgiref     3.2.3  
dataclasses 0.6    
Django      3.0    
djongo      1.2.38 
pip         19.3.1 
pymongo     3.10.0 
pytz        2019.3 
setuptools  42.0.2 
sqlparse    0.2.4  
wheel       0.33.6 

In the settings.py I have my DATABASES set up as follows:settings.py中,我的 DATABASES 设置如下:

DATABASES = {
    'default': {
        'ENGINE': 'djongo',
        'NAME': 'djongo',
        'HOST': 'localhost:27017/djongo',
    }
}

When I attempt to run a migration, I get the following error.当我尝试运行迁移时,出现以下错误。

django.core.exceptions.ImproperlyConfigured: 'djongo' isn't an available database backend.
Try using 'django.db.backends.XXX', where XXX is one of:
    'mysql', 'oracle', 'postgresql', 'sqlite3'

I have seen similar posts online, but the solutions (ensuring djongo is installed) have not been working.我在网上看到过类似的帖子,但解决方案(确保安装了 djongo)没有奏效。

How can I use a MongoDB database with a Django application?如何在 Django 应用程序中使用 MongoDB 数据库?

Django 3.0 was just released not too long ago which is why djongo wouldn't work yet . Django的3.0刚刚发布不久以前这就是为什么djongo无法工作。 Was able to test this, and had no success.能够对此进行测试,但没有成功。 After downgrading to Django 2.2 that worked for OP.降级到适用于 OP 的 Django 2.2 后。

You will have to use mongoengine or pymongo to connect to mongodb database instead of djongo.您必须使用 mongoengine 或 pymongo 来连接到 mongodb 数据库而不是 djongo。

For mongoengine see this answer:- Setting up Django and mongodb对于 mongoengine,请参阅此答案:- 设置 Django 和 mongodb

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM