将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/

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!

稳了!魔兽国服回归的3条重磅消息!官宣时间再确认!

昨天有一位朋友在大神群里分享,自己亚服账号被封号之后居然弹出了国服的封号信息对话框。

这里面让他访问的是一个国服的战网网址,com.cn和后面的zh都非常明白地表明这就是国服战网。

而他在复制这个网址并且进行登录之后,确实是网易的网址,也就是我们熟悉的停服之后国服发布的暴雪游戏产品运营到期开放退款的说明。这是一件比较奇怪的事情,因为以前都没有出现这样的情况,现在突然提示跳转到国服战网的网址,是不是说明了简体中文客户端已经开始进行更新了呢?