django连接mongodb mongoengine

Posted When you look into the abyss,

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了django连接mongodb mongoengine相关的知识,希望对你有一定的参考价值。

优点

MongoEngine ()
1. 提供了和 Django 原生 ORM 几乎一样的一切,功能已经相当强大;
2. 用起来比 Django 原生 ORM 更简洁更优雅;
3. MongoEngine 和 Django “契合度”很高,Session,User 模块几乎可以直接平移过来,但MongoEngine 本身不依赖 Django,可以用在其他框架上;
4. 本身很轻巧,文档很丰富,所以文档提供不了的细节,可以通过直接读代码来解决。

当然缺点也是很明显的,最不能习惯的就是 admin 没了。

参考https://www.zhihu.com/question/19818326

先安装mongoengine模块

pip3 install mongoengine

然后在setting里配置

在INSTALLED_APPS里注册‘mongoengine‘,把原来的database设置为None

INSTALLED_APPS = [
    django.contrib.admin,
    django.contrib.auth,
    django.contrib.contenttypes,
    django.contrib.sessions,
    django.contrib.messages,
    django.contrib.staticfiles,mongoengine
]

 

 

DATABASES = {
    default: {
        ENGINE: None,
        # ‘NAME‘: os.path.join(BASE_DIR, ‘test‘),
    }
}
from mongoengine import connect
connect(test)

 

models.py使用

在models.py里导入mongoengine,类名就是表名,继承基类mongoengine.Document

import mongoengine
class Visit(mongoengine.Document):

    v_type = mongoengine.StringField(max_length=30)
    v_times = mongoengine.IntField(default=1,null=True)
    end_time=mongoengine.DateTimeField(null=True)

不用makemigrations和migrate,直接就能用

以上是关于django连接mongodb mongoengine的主要内容,如果未能解决你的问题,请参考以下文章

django mongodb 使用 djongo 和 pymongo 连接

django中配置多个mongodb数据库

Heroku部署,带有MongoDB错误:连接被拒绝

django.db.utils.ConnectionDoesNotExist:连接prueba不存在

django连接redis集群问题排查思路和总结

用Django全栈开发——04. 连接MySQL数据库