现在看来我可以连接到 MongoDB 集群,但是当我尝试保存时出现以下错误:
TypeError: init() 得到了一个意外的关键字参数 'safe'
我安装了 Flask-MongoAlchemy 0.7.1,因为 0.7.2 根本无法连接。
我正在按照文档页面上的简单示例进行操作。在 models.py 中,我有以下内容:
class Author(db.Document):
name = db.StringField()
我运行以下命令
from myapp import db
from myapp.models import Author
author = Author(name="James")
author.save()
然后我得到了错误。
我看过一篇关于此的帖子,并尝试将 required=True 添加到我声明名称的位置。我可以确认 pymongo 版本是 3.8.0。
我发现 pymongo 需要是 3.8.0 才能使用带有“mongodb+srv”的 URI,但它需要是 2.8.0 才能传递安全参数。问题是我的代码在 python3 中,Atlas 告诉我连接字符串必须有“mongodb+srv”,所以这与 pymongo 的版本冲突。我不确定是否有可能使用 Flask-MongoAlchemy 来实现这一点。
最佳答案
TLDR:迁移到 MongoEngine。无痛
来这里寻找答案。在网上找不到任何东西。 GitHub 上的 MongoAlchemy 说,它不再被维护。如果您正在寻找像我这样的答案,我不得不迁移到 MongoEngine
关于python - 在 MongoAlchemy 中运行 Author.save() 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56929147/