问题标签 [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.
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
表格中不应该用于此,它是做什么用的?它是否以表格形式结束,因为它恰好在模型中,但不打算在那里使用?它在表单实例中有什么用吗?
python - 使用 MongoEngine 这个项目的最佳选择是什么?
我目前正在做一个项目,想知道是否可以得到一些建议。我的目标是存储有关许多 URL 的信息,每个 URL 都有许多参数,看起来像这样:
}
我找不到太多关于使用 MongoEngine 在一对多关系中使用一对多的信息/示例,我想知道最好的方法是什么?是否可以以这种方式使用EmbeddedDocumentListField或者最好使用ReferenceField。任何建议都将不胜感激,因为我对 NoSQL 方法还是很陌生
python - Mongoengine 自定义验证与修改
我正在尝试对 Mongoengine修改操作应用自定义验证,如下所示:
但是,当我调用时update_form
,自定义验证不会将更新的数据考虑在内modify
。是否有某种预挂钩来进行这种类型的验证?
python - Flask-mongoengine 文档 ID
我正在尝试在我的应用程序中实现烧瓶登录,它也使用烧瓶蒙戈引擎。这是我的用户原型:
但是,当我login_user(user)
从登录视图调用该函数时,它调用 的get_id
方法User
,但self._id
返回None
. 我也尝试self.id
过同样的结果。然后,我尝试_id
明确添加该字段:
但是然后,self._id
给了我'User u'username'>
而不是用户ID。
关于如何检索_id
用户的任何想法?
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 使用我的设置?
非常感谢!
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。
python-3.x - MongoEngine ReplicaSet 连接在降级时失败
最近我一直在尝试将 Mongoengine 和 Flask 与副本集一起使用。我可以连接,但是当主节点发生变化时,连接会丢失并且出现中断。
这是一个片段,您可以在其中测试行为。它使用非常有用的http://flip-flop.mlab.com/站点来调试副本集问题
每次主要更改错误时,我都会得到:pymongo.errors.AutoReconnect: connection closed
.
非常感谢!我尝试了几个不同的 pyMongo 版本,但没有成功。任何帮助都将非常非常感谢!
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 的正确方法吗?如果这种方法可行,是什么导致连接不发生?
所有输入表示赞赏,非常感谢!
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
参数,如
……但无济于事。
请注意,我无意覆盖ObjectID
mongodb 的默认字段。除了在反序列化时重命名字段之外,是否有任何解决方法?
mongodb - 如何在 mongoengine.EmbeddedDocument 类中调用保存方法
现在当我保存Model1
实例时。它不调用保存方法
如果我尝试在 Model2 上显式调用 save 方法,它会抱怨NoneType object has no attr save