Django优雅集成MongoDB

Django优雅集成MongoDB

 

将Django与MongoDB集成

在不更改Django ORM的情况下,将MongoDB用作Django项目的后端数据库。使用Django Admin在MongoDB中添加和修改文档。通过仅添加一行代码,开始将Django与MongoDB结合使用。

1.pip安装djongo

2、设置setting文件

 
 DATABASES = {
       'default': {
           'ENGINE': 'djongo',
           'NAME': 'your-db-name',
       }
   }
 

需要注意的地方:

1.Python 3.6或更高版本。

2.MongoDB 3.4或更高版本。

3.如果您的模型使用嵌套查询或子查询集,例如:

 inner_qs = Blog.objects.filter(name__contains='Ch').values('name')
 entries = Entry.objects.filter(blog__name__in=inner_qs)

需要MongoDB 3.6或更高版本。

有哪些好处:

1.重用Django模型/ ORM。

2.使用Djongo,可以永久地告别 Django Migrations。

怎么快速使用

在model中配置:

 
from djongo import models

class Blog(models.Model):
    name = models.CharField(max_length=100)

    class Meta:
        abstract = True

class Entry(models.Model):
    blog = models.EmbeddedField(
        model_container=Blog
    )    
    headline = models.CharField(max_length=255)    
 

在view使用:

 
e = Entry()
e.blog = {
    'name': 'Djongo'
}
e.headline = 'The Django MongoDB connector'
e.save()
 

更多细节请查阅官方文档:https://nesdis.github.io/djongo/integrating-django-with-mongodb/

 
原文地址:https://www.cnblogs.com/xiao-xue-di/p/14189810.html