djongo:Django和MongoDB连接器
在Django项目中使用MongoDB作为后端数据库,且不改变Django的ORM框架。实现Django用户管理程序对MongoDB数据库中文件的增加和修改。
用法
1.pip install djongo
2.在Django项目下的setting.py中增加如下代码:
DATABASES ={
'default':{
'ENGINE:'djongo',
'NAME':'your-db-name',
}
}
3.运行 manage.py makemigrations,之后运行 manage.py migrate(仅在MongoDB中第一次建立数据表的时候需要)
4.完成。
在这里还是要推荐下我自己建的Python开发学习群:725479218,群里都是学Python开发的,如果你正在学习Python ,小编欢迎你加入,大家都是软件开发党,不定期分享干货(只有Python软件开发相关的),包括我自己整理的一份2018最新的Python进阶资料和高级开发教程,欢迎进阶中和进想深入Python的小伙伴
要求:
1.Python3.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)
需要MongoDB3.6及以上版本。
如何工作?
Djongo对Django ORM框架的改变非常小,这就意味着不会发生一些不必要的错误。它将SQL字符串查询转变为MongoDB的文件查询。至此,所有和Django相关的功能、数据库等都这样运作。
Django的服务模块:
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.sessions',
其它的也全都支持。
Django中用法
用于MongoDB的Djongo连接器确保你可以: --重新使用Django数据库/ORM框架 --同原始Django变量一起发挥作用 --事先验证你的代码 --微小的SQL JOIN操作
参考集成Django和MongoDB获取更详细的介绍。如果你的项目使用了复杂的数据库,也可以向专家获取支持。
使用Django用户管理模块添加数据文件
比如你想利用Django创建一个以MongoDB为后端数据库的博客平台。在你博客项目app/models.py文件下定义Blog数据表:

完成设置,然后访问localhost:80000/admin/你将会看到以下结果。

查询嵌入的数据字段
在上面的例子中,我们要查询所有以Beatles开头的名字,可以使用下面的查询方法:

参考在Django中使用MongoDB数据字段获取更多的介绍。
Djongo管理器
Djongo管理器扩展了Django管理器的功能。它能够让你使用所有pymongo的API命令。可以在模型中定义类似Djongo管理器一样的自定义管理器。

管理器的使用和Djongo管理器一样: post = Entry.objects.get(pk=pkey) 将会获得一个带有主键pkey的对象。
对Pymongo直接操作
MongoDB有非常强大的查询命令,DjongoManager能够让你完全使用它。

你可以直接使用任何pymongo命令通过在命令名字前面加上mongo的前缀。例如,对Blogpage(Blogpage在SQL中保存为一个数据表,在MongoDB中保存为一个集合)使用aggregate,函数名变为mongoaggregate。在模型中直接插入一个文件(不是使用.save()),使用mongoinsertone() 。
djongo:Django和MongoDB连接器的更多相关文章
- Django+Nginx+MongoDB+Mysql+uWsgi的搭建
搭建目标如下: 图:系统架构图 这个系统可以提供web服务及其它查询应用服务,我用其做一个二手房信息搜集.处理及分发的系统,可以通过浏览器访问,也可以通过定制的客户端进行访问. 一.安装篇 1.下载安 ...
- django使用mongodb建表
1.安装mongodb的py模块包 pip install mongoengine 同时安装了mongoengine.pymongo 2.在项目配置文件settings.py中配置 from mong ...
- django连接mongodb mongoengine
优点 MongoEngine (http://mongoengine.org)1. 提供了和 Django 原生 ORM 几乎一样的一切,功能已经相当强大;2. 用起来比 Django 原生 ORM ...
- Django与mongodb数据库的连接
1.最开始需要下载一个第三方模块:mongoengine 2.下载完成之后,需要在settings中完成配置(在DATABASES后面,别问我为什么,问了我也不告诉你...) connect中传入的是 ...
- Django优雅集成MongoDB
Django优雅集成MongoDB 将Django与MongoDB集成 在不更改Django ORM的情况下,将MongoDB用作Django项目的后端数据库.使用Django Admin在Mon ...
- (动态模型类,我的独创)Django的原生ORM框架如何支持MongoDB,同时应对客户使用时随时变动字段
1.背景知识 需要开发一个系统,处理大量EXCEL表格信息,各种类别.表格标题多变,因此使用不需要预先设计数据表结构的MongoDB,即NoSQL.一是字段不固定,二是同名字段可以存储不同的字段类型. ...
- django 技巧锦集
1. 如何将model对象转化成一个dict,这在restful api的设计上会有用. 答案:使用django.forms.models的model_to_dict方法,demo如下: from d ...
- spark连接mongodb
1.添加依赖 hadoop和mongodb的连接器 <dependency> <groupId>org.mongodb.mongo-hadoop</groupId> ...
- 推荐:MongoDB学习资料
http://www.mongodb.org/display/DOCS/Production+Deployments Official MongoDBProject Website Getting S ...
随机推荐
- java调用matlab
object result[]; result = pClass1.job_3in1(2, c, ws2, 1275, a, 0); string adg[]; adg = result[1].toS ...
- python地理处理包——geopy使用之地理编码与反地理编码
由于专业需要,经常接触一些地理处理的工具包,文档都是英文的,自己看的同时将其翻译一下,一方面自己学习的同时有个记录,要是能同时给一起的学习的童鞋们一些帮助,想想也是极好的.以下的文档内容主要翻译自官方 ...
- 性能测试 查看Android APP 帧数FPS的方法
(下述需要先安装eclipse,不然无法抓包) 1.保证手机与PC连接是正常的 2.打开手机“设置”→“开发者选项”(没有开发者选项就点击“关于手机”“版本号”连续点击就会出现开发者选项了).找到监控 ...
- HDU 1722 Cake (数论 gcd)(Java版)
Big Number 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1722 ——每天在线,欢迎留言谈论. 题目大意: 给你两个数 n1,n2 . 然后 ...
- 使用VSTS的Git进行版本控制(三)——评审历史记录
使用VSTS的Git进行版本控制(三)--评审历史记录 Git使用存储在每个提交中的父引用信息来管理开发的完整历史记录.评审该提交历史记录,能够找出文件更改的时间,并确定代码版本之间的差异. Git使 ...
- ajax请求经典格式
$.ajax({ url: url, type: "POST", dataType: "json", data: data, success: funtion1 ...
- Spark集群搭建【Spark+Hadoop+Scala+Zookeeper】
1.安装Linux 需要:3台CentOS7虚拟机 IP:192.168.245.130,192.168.245.131,192.168.245.132(类似,尽量保持连续,方便记忆) 注意: 3台虚 ...
- The operation could not be performed because the OLE DB provider 'SQLOLEDB' was unable to begin a distributed transaction
今天遇到一起关于分布式事务错误的案例,如下所示,执行SQL脚本时报错, 错误信息具体如下所示: [OLE/DB provider returned message: 新事务不能登记到指定的事务处理器中 ...
- web前端(4)—— 常用标签1
标题标签h1~h6 顾名思义,这些就是把字体设置为大字体的,就如博客园的这个编辑器里的格式: 不信的话我们自己设置看看:好的,从本篇文章开始,我们需要动手了 <!DOCTYPE html> ...
- SQL 事务隔离级别
转载来源:https://www.cnblogs.com/chenmh/p/3998614.html 标签: SQL SEERVER/MSSQL SERVER/SQL/事务隔离级别选项/设置数据库事务 ...