zoukankan      html  css  js  c++  java
  • 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'
    ]
    MONGODB_DATABASES = {
        "default": {
            "name": "test",
            "host": '127.0.0.1',
            "tz_aware": True, # 设置时区
        },
    }#这个好像可加可不加,我没有加照样可以使用

    DATABASES = { 'default': { 'ENGINE': None,
         #
    'ENGINE':'django.db.backends.dummy',#也可以这样设置
        }
    }
    from mongoengine import connect
    connect('test', host='127.0.0.1')#test是数据库名称,如果是本机就不用加host参数了
     

    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,直接就能用

    参考的https://www.jianshu.com/p/ab3561ebdafd

  • 相关阅读:
    MySQL 参数- Innodb_File_Per_Table(独立表空间)
    PHP Html 弹窗,本页面弹窗子页面
    ecshop 后台添加 成本价 利润
    MYSQL中的字符串连接符
    dede织梦后台页面及功能修改及精简操作方法
    ecshop 调用其他数据库中的商品
    wamp mysql 创建主从数据库
    mysql 主从同步原理
    mysql 利用触发器(Trigger)让代码更简单
    iOS开发工具——网络封包分析工具Charles
  • 原文地址:https://www.cnblogs.com/z-x-y/p/10285366.html
Copyright © 2011-2022 走看看