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学习笔记:字典的使用示例详解
Jun 13 Python
python中文编码问题小结
Sep 28 Python
Python实现生成简单的Makefile文件代码示例
Mar 10 Python
使用优化器来提升Python程序的执行效率的教程
Apr 02 Python
python实现的简单RPG游戏流程实例
Jun 28 Python
快速入门python学习笔记
Dec 06 Python
python中dir()与__dict__属性的区别浅析
Dec 10 Python
python检查目录文件权限并修改目录文件权限的操作
Mar 11 Python
Python3交互式shell ipython3安装及使用详解
Jul 11 Python
Python手拉手教你爬取贝壳房源数据的实战教程
May 21 Python
如何使用Tkinter进行窗口的管理与设置
Jun 30 Python
python实现手机推送 代码也就10行左右
Apr 12 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
html中select语句读取mysql表中内容
2006/10/09 PHP
PHP伪静态Rewrite设置之APACHE篇
2014/07/30 PHP
解析javascript 浏览器关闭事件
2013/07/08 Javascript
javascript判断移动端访问设备并解析对应CSS的方法
2015/02/05 Javascript
利用JS实现页面删除并重新排序功能
2016/12/09 Javascript
简单的vue-resourse获取json并应用到模板示例
2017/02/10 Javascript
ng2学习笔记之bootstrap中的component使用教程
2017/03/09 Javascript
template.js前端模板引擎使用详解
2017/10/10 Javascript
用Node提供静态文件服务的方法
2018/07/06 Javascript
解决vue-cli3 使用子目录部署问题
2018/07/19 Javascript
基于layui数据表格以及传数据的方式
2018/08/19 Javascript
vue最简单的前后端交互示例详解
2018/10/11 Javascript
webpack 从指定入口文件中提取公共文件的方法
2018/11/13 Javascript
记录vue做微信自定义分享的一些问题
2019/09/12 Javascript
vue 实现根据data中的属性值来设置不同的样式
2020/08/04 Javascript
详解vue路由
2020/08/05 Javascript
[06:53]DOTA2每周TOP10 精彩击杀集锦vol.3
2014/06/25 DOTA
编写Python脚本来获取mp3文件tag信息的教程
2015/05/04 Python
深入理解Python中的super()方法
2017/11/20 Python
Django视图和URL配置详解
2018/01/31 Python
解决python3 json数据包含中文的读写问题
2018/05/10 Python
Python的matplotlib绘图如何修改背景颜色的实现
2019/07/16 Python
Python 分发包中添加额外文件的方法
2019/08/16 Python
wxPython绘图模块wxPyPlot实现数据可视化
2019/11/19 Python
Python趣味实例,实现一个简单的抽奖刮刮卡
2020/07/18 Python
利用python批量爬取百度任意类别的图片的实现方法
2020/10/07 Python
python 用opencv实现图像修复和图像金字塔
2020/11/27 Python
英国计算机商店:Technextday
2019/12/28 全球购物
股权收购意向书
2014/04/01 职场文书
特教教师先进事迹
2014/05/21 职场文书
食品流通安全承诺书
2014/05/22 职场文书
教师师德考核自我评价
2014/09/13 职场文书
2015年教研组工作总结
2015/05/04 职场文书
拒绝盗图!教你怎么用python给图片加水印
2021/06/04 Python
Python Pandas常用函数方法总结
2021/06/15 Python
Python编写冷笑话生成器
2022/04/20 Python