Django4.1.7通过djongo1.3.6链接mongoDB6.0.4
网上中文版的djongo链接mongoDB基本都是抄袭州的先生大哥的文章。
文章成文比较久,至少是2019年成文的了,有一些情况发生了变化,今天就自己测试的情况做一些记录。
本文成文日期为:2023年3月2日,请注意参考
废话不多说,直接说我遇到的3个问题。
1.djongo驱动不识别
错误信息:
django.core.exceptions.ImproperlyConfigured: ‘djongo’ isn’t an available database backend or couldn’t be imported. Check the above exception. To use ondjango.core.exceptions.ImproperlyConfigured: ‘djongo’ isn’t an available databasedjango.core.exceptions.ImproperlyConfigured: ‘djongo’ isn’t an available database backend or couldn’t be imported. Check the above exception. To use one of the built-in backends,django.core.exceptions.ImproperlyConfigured: ‘djongo’ isn’t an available database backend or couldn’t be imported. Check the above exception. To use one of the built-in backends, use ‘django.db.backends.XX
X’, where XXX is one of:
‘mysql’, ‘oracle’, ‘postgresql’, ‘sqlite3’
根据:https://github.com/doableware/djongo/issues/594
中的MrYazdan大佬提示
pip install pytz
安装pytz这个包后该问题解决。
2.数据库链接错误
错误信息:
NotImplementedError: Database objects do not implement truth value testing or bool(). Please compare with None instead: database is not None
另一个连接报错信息为:
pymongo.errors.ServerSelectionTimeoutError: localhost:27017: [WinError 10061] 由于目标计算机积极拒绝,无法连接。, Timeout: 30s, Topology Description: <TopologyDescription id: 64001613c2c8ebc2982285e6, topo
logy_type: Unknown, servers: [<ServerDescription (‘localhost’, 27017) server_type: Unknown, rtt: None, error=AutoReconnect(‘localhost:27017: [WinError 10061] 由于目标计算机积极拒绝,无法连接。’)>]>
比较明显,应该是地址配置错误了,导致他还是去连接localhost的地址。
原因为djongo的配置参数变化了:
DATABASES = {'default': {'ENGINE': 'djongo',# 指定具体的数据库还是用NAME'NAME': 'your-db-name','ENFORCE_SCHEMA': False,# 对比州大佬使用的时候host被整合进了这个client中'CLIENT': {'host': 'host-name or ip address','port': port_number,'username': 'db-username','password': 'password',# 该参数好像不是用来指定数据库名称,具体什么作用我没有研究。'authSource': 'db-name','authMechanism': 'SCRAM-SHA-1'},'LOGGING': {'version': 1,'loggers': {'djongo': {'level': 'DEBUG','propagate': False, }},},}}
再看一眼州大佬给出的配置
# 旧配置参考,当前版本:djongo:1.3.6以无法使用
DATABASES = {'default': {'ENGINE': 'djongo','ENFORCE_SCHEMA': True,'NAME': 'your-db-name',# 已经不能通过这种方式指定'HOST': 'host-name or ip address','PORT': port_number,'USER': 'db-username','PASSWORD': 'password','AUTH_SOURCE': 'db-name','AUTH_MECHANISM': 'SCRAM-SHA-1','REPLICASET': 'replicaset','SSL': 'ssl','SSL_CERTFILE': 'ssl_certfile','SSL_CA_CERTS': 'ssl_ca_certs','READ_PREFERENCE': 'read_preference'}
}
3.pymongo版本过高导致建表异常
错误信息:
TypeError: ‘Collection’ object is not callable. If you meant to call the ‘update’ method on a ‘Collection’ object it is failing because no such method exists.
NotImplementedError: Database objects do not implement truth value testing or bool(). Please compare with None instead: database is not None
将 Pymongo 降低版本至 3.12.1,当前最新版本为:pymongo-4.3.3
pip install pymongo==3.12.1
4.最终依赖情况
Django 4.1.7
django-simpleui 2023.3.1
djongo 1.3.6
dnspython 2.3.0
pip 23.0.1
pymongo 3.12.1
pytz 2022.7.1
setuptools 67.4.0
sqlparse 0.2.4
tzdata 2022.7相关文章:
Django4.1.7通过djongo1.3.6链接mongoDB6.0.4
网上中文版的djongo链接mongoDB基本都是抄袭州的先生大哥的文章。 文章成文比较久,至少是2019年成文的了,有一些情况发生了变化,今天就自己测试的情况做一些记录。 本文成文日期为:2023年3月2日,请注意参考 废话不多说…...
如何使用FindFunc在IDA Pro中寻找包含指定代码模式的函数代码
关于FindFunc FindFunc是一款功能强大的IDA Pro插件,可以帮助广大研究人员轻松查找包含了特定程序集、代码字节模式、特定命名、字符串或符合其他各种约束条件的代码函数。简而言之,FindFunc的主要目的就是在二进制文件中寻找已知函数。 使用规则过滤 …...
【C++】讲的最通透最易懂的关于结构体内存对齐的问题
目录1. 内存对齐规则2. 简单易懂的内存对齐示例2.1 简单结构体2.2 含位域的结构体2.3 空类的大小2.4 嵌套结构体3. 为什么需要内存对齐?4. 类型在不同系统下所占字节数1. 内存对齐规则 第一个成员在与结构体变量偏移量为0的位置处。其他成员变量要对齐到某个数字&a…...
Stochastic Approximation 随机近似方法的详解之(一)
随机近似的定义:它指的是一大类随机迭代算法,用于求根或者优化问题。 Stochastic approximation refers to a broad class of stochastic iterative algorithms solving root finding or optimization problems. temporal-difference algorithms是随机近…...
软件自动化测试工程师面试题集锦
以下是部分面试题目和我的个人回答,回答比较简略,仅供参考。不对之处请指出 1.自我介绍 答:姓名,学历专业,技能,近期工作经历等,可以引导到最擅长的点,比如说代码或者项目 参考&a…...
智合同丨教你做一个懂AI的法律人
作为一名法律人,合同审核工作是日常工作中最基本也是必不可少的一项事务。我们知道,一般在企业,合同审批会涉及到众多部门和职务角色,最关键的一环其实在法务或者律师建议,其他部门给出的审批意见基本上都是基于自己部…...
如何判断自己使用的IP是独享还是共享?
在互联网上,我们常常听到独享IP和共享IP这两个概念。独享IP指的是一个IP地址只被一个用户或一个网站所使用,而共享IP则是多个用户或多个网站共用一个IP地址。那么,如何分辨IP是不是独享呢?接下来,我们将从几个方面来看。在这之前…...
跳石头
题目描述 一年一度的"跳石头"比赛又要开始了! 这项比赛将在一条笔直的河道中进行,河道中分布着一些巨大岩石。组委会已经选择好了两块岩石作为比赛起点和终点。在起点和终点之间,有 N 块岩石(不含起点和终点的岩石)。在比赛过程中,选手们将从起点出发,每一步跳…...
上传gitee教程,Gitee怎么上传代码到仓库
目录 第一步:配置git的用户名和邮箱 第二步:上传到远程仓库 第三步:将仓库的master分支拉取过来和本地的当前分支进行合并 第四步:将修改的所有代码添加到暂存区 第五步:将缓存区内容添加到本地仓库(…...
netstat命令详解
1、下载netstat命令对应的软件包 yum install net-tools -y2、netsta命令介绍 [rootvm01 ~]# man netstatNETSTAT(8) Linux System Administrators Manual NETSTAT(8)NAMEnetstat - Print network connections, routing t…...
数据库三范式
文章目录数据库三范式1. 第一范式(1NF)2. 第二范式(2NF)3. 第三范式(3NF)数据库三范式 第一范式:有主键,具有原子性,字段不可分割第二范式:完全依赖…...
K8S 1.20 弃用 Docker 评估之 Docker 和 OCI 镜像格式的差别
背景 2020 年 12 月初,Kubernetes 在其最新的 Changelog 中宣布,自 Kubernetes 1.20 之后将弃用 Docker 作为容器运行时。 弃用 Docker 带来的,可能是一系列的改变,包括不限于: 容器镜像构建工具容器 CLI容器镜像仓…...
Vue2和Vue3响应式的区别
数据响应式是什么? 所谓 数据响应式 就是建立 响应式数据 与 依赖(调用了响应式数据的操作)之间的关系,当响应式数据发生变化时,可以通知那些使用了这些响应式数据的依赖操作进行相关更新操作,可以是DOM…...
模型实战(6)之Alex实现图像分类:模型原理+训练+预测(详细教程!)
Alex实现图像分类:模型原理+训练+预测 图像分类或者检索任务在浏览器中的搜索操作、爬虫搜图中应用较广,本文主要通过Alex模型实现猫狗分类,并且将可以复用的开源模型在文章中给出!!!数据集可以由此下载:Data本文将从以下内容做出讲述: 1.模型简介及环境搭建2.数据集准…...
【大数据】最全的大数据Hadoop|Yarn|Spark|Flink|Hive技术书籍分享/下载链接,持续更新中...
这里写目录标题Hadoop大数据处理Hadoop技术内幕:深入解析YARN架构设计与实现原理Hadoop 技术内幕:深入解析Hadoop Common 和HDFS 架构设计与实现原理Spark SQL内核剖析Hadoop 应用架构深度剖析Hadoop HDFSHadoop实战Hive编程指南Hadoop大数据处理 本书以…...
RIG Exploit Kit 仍然通过 IE 感染企业用户
RIG Exploit Kit 正处于最成功的时期,每天尝试大约 2000 次入侵并在大约 30% 的案例中成功,这是该服务长期运行历史中的最高比率。 通过利用相对较旧的 Internet Explorer 漏洞,RIG EK 已被发现分发各种恶意软件系列,包括 Dridex…...
GIS在地质灾害危险性评估与灾后重建中的实践技术应用及python机器学习灾害易发性评价模型建立与优化进阶
地质灾害是指全球地壳自然地质演化过程中,由于地球内动力、外动力或者人为地质动力作用下导致的自然地质和人类的自然灾害突发事件。由于降水、地震等自然作用下,地质灾害在世界范围内频繁发生。我国除滑坡灾害外,还包括崩塌、泥石流、地面沉…...
SQL SERVER中SCHEMA的詳解
SQL SERVER中SCHEMA的講解1. Introduction1.1 優勢1.2 內置schema2. Create Schema2.1 Parameters2.2 Sql3.Awakening1. Introduction 1.1 優勢 数据库模式为我们提供了在数据库中创建逻辑对象组的灵活性。如果多个团队使用同一个数据库,我们可以设计各种模式来分組…...
【LeetCode】剑指 Offer(13)
目录 题目:剑指 Offer 31. 栈的压入、弹出序列 - 力扣(Leetcode) 题目的接口: 解题思路: 代码: 过啦!!! 写在最后: 题目:剑指 Offer 31. 栈…...
帮助小型企业实现业务增长的7种数字营销策略
数字营销一直在不断地变化和发展,在过去的几年里我们已经见识到了其迅猛的发展速度。虽然我们在数字营销中看到了一些新的趋势,但对于小型企业来说很难利用并发挥其优势。相比较大型企业,小型企业的预算和资源通常有限,所以他们很…...
如何构建高效的个人游戏串流服务器:Sunshine完整部署指南
如何构建高效的个人游戏串流服务器:Sunshine完整部署指南 【免费下载链接】Sunshine Self-hosted game stream host for Moonlight. 项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine 在当今数字娱乐时代,游戏玩家面临着设备限制与体验…...
不止于Java:在Termux的Ubuntu子系统里,我这样配置Python/Node.js多语言开发环境
不止于Java:在Termux的Ubuntu子系统里配置Python/Node.js多语言开发环境 将手机变成便携式开发工作站早已不是天方夜谭。通过Termux和proot-distro搭建的Ubuntu子系统,开发者可以在Android设备上构建完整的Linux开发环境。与局限于单一语言的解决方案不同…...
AD覆铜时引脚‘粘’在一起了?别慌,三步排查法帮你搞定Modified Polygon和覆铜粘连
AD覆铜引脚粘连问题排查指南:从现象到解决方案的完整路径 在PCB设计过程中,覆铜操作看似简单却暗藏玄机。许多Altium Designer用户都曾遭遇过这样的场景:当你信心满满地完成布线,准备进行最后的覆铜操作时,突然发现不同…...
工业HMI系统核心技术解析与TI解决方案实践
1. 工业HMI系统概述人机界面(HMI)系统是现代工业自动化不可或缺的核心组件,它如同工厂的"神经中枢",将复杂的机器语言转化为直观的可视化信息。想象一下,当操作员站在一台大型工业设备前,不再需要…...
别再被FFmpeg里的12bpp搞懵了!手把手教你理解YUV420sp与BPP的关系
别再被FFmpeg里的12bpp搞懵了!手把手教你理解YUV420sp与BPP的关系 第一次在FFmpeg文档里看到"12bpp"这个描述时,我盯着屏幕愣了半天——RGB24格式不是8bpp吗?YUV420不是应该更节省空间吗?怎么反而变成了12bpp࿱…...
芯片入门必看:CPU、MCU、SoC、GPU、TPU、NPU
本文首先介绍了芯片的基础分类,包括模拟/数字芯片和逻辑/计算芯片。接着,对8类核心芯片进行了通俗解析,包括CPU、MCU、SoC、GPU、TPU、NPU、FPGA和DSP,涵盖了它们的定义、用途、类型和代表性标的。最后,文章从通用性和…...
大厂HR坦言:这3种“计算机巨坑”,90%的学生都在踩!如何逆袭成高薪抢手人?
文章指出,计算机专业就业难,但优秀人才依然稀缺。多数学生因方向错误导致努力白费。常见弯路包括:过度刷题缺乏项目、技术广博但不精、忽视GPA与实习。文章强调,学生需明确用人单位需求,重视项目与实习,夯实…...
从零搭建VGG16:深入解析网络架构与PyTorch实战
1. VGG16网络架构解析 VGG16作为卷积神经网络发展史上的里程碑,其核心设计理念至今仍影响着现代深度学习模型。我第一次接触这个网络时,被它简洁优雅的结构深深吸引——全部使用33小卷积核堆叠,配合22最大池化,这种设计就像用乐高…...
Windows安卓开发环境一键配置:告别繁琐驱动的终极解决方案
Windows安卓开发环境一键配置:告别繁琐驱动的终极解决方案 【免费下载链接】Latest-adb-fastboot-installer-for-windows A Simple Android Driver installer tool for windows (Always installs the latest version) 项目地址: https://gitcode.com/gh_mirrors/l…...
长期使用taotoken token plan套餐的成本节约感受
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 长期使用 Taotoken Token Plan 套餐的成本节约感受 对于需要稳定调用大模型 API 的个人开发者或团队而言,成本控制是一…...
