Django集成MongoDB实现过程解析


Posted in Python onDecember 01, 2020

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

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

Python 相关文章推荐
小结Python用fork来创建子进程注意事项
Jul 03 Python
Python导入txt数据到mysql的方法
Apr 08 Python
基于python yield机制的异步操作同步化编程模型
Mar 18 Python
基于Python_脚本CGI、特点、应用、开发环境(详解)
May 23 Python
python实现简单tftp(基于udp协议)
Jul 30 Python
Python代码打开本地.mp4格式文件的方法
Jan 03 Python
python实现一个简单的udp通信的示例代码
Feb 01 Python
实例详解python函数的对象、函数嵌套、名称空间和作用域
May 31 Python
python使用Geany编辑器配置方法
Feb 21 Python
Python 3.8 新功能来一波(大部分人都不知道)
Mar 11 Python
基于Python编写一个计算器程序,实现简单的加减乘除和取余二元运算
Aug 05 Python
Scrapy项目实战之爬取某社区用户详情
Sep 17 Python
基于Django快速集成Echarts代码示例
Dec 01 #Python
Python更改pip镜像源的方法示例
Dec 01 #Python
Python读取图像并显示灰度图的实现
Dec 01 #Python
Python性能测试工具Locust安装及使用
Dec 01 #Python
python爬虫中抓取指数的实例讲解
Dec 01 #Python
OpenCV灰度化之后图片为绿色的解决
Dec 01 #Python
python批量合成bilibili的m4s缓存文件为MP4格式 ver2.5
Dec 01 #Python
You might like
php 数组的创建、调用和更新实现代码
2009/03/09 PHP
PHP 事务处理数据实现代码
2010/05/13 PHP
PHP Error与Logging函数的深入理解
2013/06/03 PHP
php抓取页面的几种方法详解
2013/06/17 PHP
PHP中file_exists函数不支持中文名的解决方法
2014/07/26 PHP
PHP多线程之内部多线程实例分析
2015/03/09 PHP
Extjs ajax同步请求时post方式参数发送方式
2009/08/05 Javascript
Javascript实现的SHA-256加密算法完整实例
2016/02/02 Javascript
JavaScript判断变量是否为数组的方法(Array)
2016/02/24 Javascript
JavaScript数组去重的两种方法推荐
2016/04/05 Javascript
基于JavaScript实现回到页面顶部动画代码
2016/05/24 Javascript
js显示动态时间的方法详解
2016/08/20 Javascript
URL的参数中有加号传值变为空格的问题(URL特殊字符)
2016/11/04 Javascript
jQuery中页面返回顶部的方法总结
2016/12/30 Javascript
利用CSS、JavaScript及Ajax实现图片预加载的三大方法
2017/01/22 Javascript
Bootstarp基本模版学习教程
2017/02/01 Javascript
详解关于Vue版本不匹配问题(Vue packages version mismatch)
2018/09/17 Javascript
Vue常用的几个指令附完整案例
2018/11/06 Javascript
vue 引用自定义ttf、otf、在线字体的方法
2019/05/09 Javascript
使用 Vue 实现一个虚拟列表的方法
2019/08/20 Javascript
微信小程序 行的删除和增加操作实现详解
2019/09/29 Javascript
[32:26]EG vs IG 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
Python简单实现两个任意字符串乘积的方法示例
2018/04/12 Python
TensorFlow实现iris数据集线性回归
2018/09/07 Python
Python实现的IP端口扫描工具类示例
2019/02/15 Python
Flask框架踩坑之ajax跨域请求实现
2019/02/22 Python
pygame库实现俄罗斯方块小游戏
2019/10/29 Python
在pycharm中debug 实时查看数据操作(交互式)
2020/06/09 Python
python 使用递归的方式实现语义图片分割功能
2020/07/16 Python
Python解析微信dat文件的方法
2020/11/30 Python
css3简单练习实现遨游浏览器logo的绘制
2013/01/30 HTML / CSS
巴西24小时在线药房:Drogasil
2020/06/20 全球购物
全神贯注教学反思
2014/02/03 职场文书
计生专干事迹
2014/05/28 职场文书
假释思想汇报范文
2014/10/11 职场文书
MySQL删除和插入数据很慢的问题解决
2021/06/03 MySQL