问题标签 [flask-mongoengine]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
527 浏览

python - flask-mongoengine:生成选择字段以在表单中公开模型继承

假设我有这个模型:

我想创建一个表单来编辑这个模型的实例。此表单将有一个选择字段来选择子类。

添加类型字段

我所做的是添加一个类型字段:

这个scen_type字段有点多余,因为类型信息已经包含在_cls添加的属性 MongoEngine 中。

使用现有的 _cls 元素

我还注意到field_dict返回的 bymodel_fields确实有一个_cls元素,但我不知道如何使用它。

在 中field_dict,所有字段都是<UnboundField...>

_cls是这样的<UnboundField(TextAreaField, (), {'default': None, 'description': '', 'validators': [<wtforms.validators.Optional object at 0x7fe3c983cb00>], 'label': '_cls', 'filters': []})>

但是,当我实例化表单时,name它是“绑定的”(我猜)并form.name返回预期的 html,而_cls仍然是未绑定的。

 这些方法中的任何一种是否“推荐”?

到目前为止,类型字段方法一直在工作,但是在处理嵌入式文档中的继承时它变得复杂,我觉得我可能缺少烧瓶 mongoengine 功能,如果不是头疼的话,这些功能可能会为我节省一些工作。

或者,也许我对这种烧瓶-mongoengine wtforms 集成期望过高,我应该手动做很多事情。

如果有意义,我不介意调整flask-mongoengine 并提交我的更改,但我希望能得到一些反馈,以确保我走在正确的轨道上。

附属问题:假设_cls表格中不应该用于此,它是做什么用的?它是否以表格形式结束,因为它恰好在模型中,但不打算在那里使用?它在表单实例中有什么用吗?

0 投票
1 回答
96 浏览

python - 使用 MongoEngine 这个项目的最佳选择是什么?

我目前正在做一个项目,想知道是否可以得到一些建议。我的目标是存储有关许多 URL 的信息,每个 URL 都有许多参数,看起来像这样:

}

我找不到太多关于使用 MongoEngine 在一对多关系中使用一对多的信息/示例,我想知道最好的方法是什么?是否可以以这种方式使用EmbeddedDocumentListField或者最好使用ReferenceField。任何建议都将不胜感激,因为我对 NoSQL 方法还是很陌生

0 投票
1 回答
972 浏览

python - Mongoengine 自定义验证与修改

我正在尝试对 Mongoengine修改操作应用自定义验证,如下所示:

但是,当我调用时update_form,自定义验证不会将更新的数据考虑在内modify。是否有某种预挂钩来进行这种类型的验证?

0 投票
2 回答
2405 浏览

python - Flask-mongoengine 文档 ID

我正在尝试在我的应用程序中实现烧瓶登录,它也使用烧瓶蒙戈引擎。这是我的用户原型:

但是,当我login_user(user)从登录视图调用该函数时,它调用 的get_id方法User,但self._id返回None. 我也尝试self.id过同样的结果。然后,我尝试_id明确添加该字段:

但是然后,self._id给了我'User u'username'>而不是用户ID。

关于如何检索_id用户的任何想法?

0 投票
3 回答
1741 浏览

pymongo - 如何从 pip 为 pymongo/mongoengine 找到正确的 bson 版本

我正在开发一个(python 2.7)flask-mongoengine 应用程序,它使用 bson 的 ObjectId。该项目以一种或另一种方式需要bson。我在尝试部署应用程序的主机上没有 root 访问权限,并且 pip install bson 失败:

另一方面,https ://api.mongodb.org/python/current/installation.html 声明我不应该使用这个版本的 bson 并依赖 pymongo 的实现。但是,在我安装了 pymongo-3.2.1 的计算机上,我无法导入 pymongo.objectId - 那么我做错了什么以及如何让 bson 使用我的设置?

非常感谢!

0 投票
1 回答
1032 浏览

mongodb - mongoengine过滤器查询检索嵌入文档

Server.objects.all()默认情况下,查询集不包含text_list字段的值。我必须这样做 - (获取text_list查询集中每个对象的字段值。

在我的情况/场景中,我不能这样做,我的意思是我必须在查询集本身中获取所有数据(或者换句话说,我需要一个查询集,它也可以在不使用的情况下为我提供所有嵌套的详细信息obj.text_list

例如

进一步在 mongo shell - db.server.find()包括所有嵌套的嵌入式文档。

我们如何在 mongoengine 中使用 orm 或 raw_query 做到这一点。

to_json()我可以通过使用方法在mongoengine orm中解决这个问题

json.loads(queryset.to_json())

Server.objects.all().to_json() 返回一个包含嵌入式模型信息的结果,但这在对数百万个文档使用分页时效率不高,我的意思是在这种情况下,mongo 将尝试将所有对象转换为 to_json。

0 投票
1 回答
578 浏览

python-3.x - MongoEngine ReplicaSet 连接在降级时失败

最近我一直在尝试将 Mongoengine 和 Flask 与副本集一起使用。我可以连接,但是当主节点发生变化时,连接会丢失并且出现中断。

这是一个片段,您可以在其中测试行为。它使用非常有用的http://flip-flop.mlab.com/站点来调试副本集问题

每次主要更改错误时,我都会得到:pymongo.errors.AutoReconnect: connection closed .

非常感谢!我尝试了几个不同的 pyMongo 版本,但没有成功。任何帮助都将非常非常感谢!

0 投票
1 回答
905 浏览

python - AWS + MongoDB:如何连接到 AWS linux 实例上的 mongo 服务器?

我启动了一个 AWS linux 实例并按照此处的说明安装并运行了 mongo 。mongo 服务正在运行并接受 27017 上的连接。但是,当我使用端口 27017 访问服务器 publik dns 时,服务器没有响应,并且我没有看到默认的 mongo 消息。

我正在尝试在另一个实例上运行 Python(Flask)服务器并尝试使用私有 ip 连接到 mongo 服务器,但连接没有发生。我在终端上收到此错误消息:

pymongo.errors.ServerSelectionTimeoutError: xxx.xx.xx.xx:27017: [Errno 111] 连接被拒绝

这不是在 aws 上使用 mongo db 的正确方法吗?如果这种方法可行,是什么导致连接不发生?

所有输入表示赞赏,非常感谢!

0 投票
1 回答
4001 浏览

flask - 在烧瓶/mongoengine 文档中添加自定义 id 字段

我正在将一个应用程序从 Django/MySQL 改成 flask/mongo-engine,并且在创建带有id字段的模型时遇到了麻烦。这是一个示例模型:

为了向后兼容,我需要按id原样命名的字段。这曾经在 MySQL 中正常工作,但 mongo-engine 给出了 ValidationError --Field is required: ['id'] Invalid Object ID: ['auto_id_0']对于上述模型的文档。

我也尝试使用db_field参数,如

……但无济于事。

请注意,我无意覆盖ObjectIDmongodb 的默认字段。除了在反序列化时重命名字段之外,是否有任何解决方法?

0 投票
1 回答
956 浏览

mongodb - 如何在 mongoengine.EmbeddedDocument 类中调用保存方法

现在当我保存Model1实例时。它不调用保存方法

如果我尝试在 Model2 上显式调用 save 方法,它会抱怨NoneType object has no attr save