问题标签 [app-engine-ndb]
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.
google-app-engine - NDB 中反向引用属性的替代方法是什么?
我已经阅读了这个问题和简单明了的答案,但在我的情况下它没有用,因为答案不考虑嵌套的for
. 请看代码:
处理程序:
在模板中,使用旧的 db.Model 和反向引用属性就足够了:
为这种数据结构提供服务的同样简单的替代方案是什么?
python - 应用引擎 NDB:如何访问属性的详细名称
假设我有这个代码:
当然,如果我打印 m.prop,它将输出“一个字符串值”,而实际上它是一个 StringProperty 实例。所以 verbose_name 不能以“正常”方式访问,即m.prop._verbose_name
.
我阅读了代码并找到了访问它的方法:m._properties["prop"]._verbose_name
,它可以工作,但它看起来很hacky o_o。
所以告诉我,还有其他方法吗?
注意:我说的是 NDB API,而不是旧 API
python - ndb 模型 appengine 的 ModelForms(djangoforms 不适合我)
我正在使用 webapp2,ndb 模型。
我试图将 django 模型表单与 ndb 模型一起使用。以下是我的设置中的相关部分:
应用程序.yaml:
模型.py:
表格.py:
处理程序:
我得到的错误是: AttributeError: type object 'SubTask' has no attribute '_meta'
我的问题:有没有办法可以将 django 模型表单与 ndb 一起使用,或者如果我犯了一个错误,那是什么?如果不是 django modelforms,ndb 模型是否适用于 WTForms?
下面附上堆栈跟踪:
google-app-engine - ndb 根据 KeyProperty 实例查询模型
我有一个简单的ndb模型如下:
众所周知,一个 TaskList 对象将有一个Entity Kind
Entity Key
和一个ID
。给定一个 ID 为 7。我可以很好地获取 ID 为 7 的对象,如下所示:
但是我如何获得任务 ID 为 7 的用户?
我试过:
它有效,但有更好的方法吗?
google-app-engine - ndb 模型与 WTForms 的兼容性
技术堆栈:ndb 模型、WTForms、webapp2 我正在尝试将 WTForms 扩展用于 appengine db 模型。
我有一个简单的数据库架构:
然后是一个简单的表单定义表单 WTForms,在处理程序中根据他们的文档:
这会在此处引发属性错误行 411 props = model.properties()
请让我知道,如果这可以解决。
google-app-engine - 什么会导致 prod 和 dev 之间的这种差异?
相同的代码,在生产中在开发中不起作用是的。
楷模:
处理程序:
模板:
追溯(仅在生产中):
即使comput_list
有实体也会出现。
更新:没有为成员自动生成索引,我尝试手动添加但没有任何变化
google-app-engine - 如何使用ndb的OR?
我有以下代码:
但我收到错误:
顺便说一句,如果passport_id is None
和Employee.passport_id is None
. 它会找到这样的匹配吗?
更新。通过添加解决了第一个问题
第二个问题仍然存在..
google-app-engine - 如何避免使用 GAE NDB 返回 None 值?
我有如下复杂的 NDB 查询:
当前,当数据库值为None
且我的值为时None
,将返回此类实体。我怎样才能避免这种情况?我想我可以做类似的事情(对于每个领域):
但它看起来不是很好。
google-cloud-datastore - 如何在 NDB 中进行批处理操作是更新 ndb 的原子或锁定记录
我是谷歌应用引擎和 NDB 的初学者。我的问题:如果我在模型中有 1 个实体,我想在 2 个并行操作时防止冲突,代码示例:
操作1:
操作2:
如果 2 个会话并行调用 2 个操作,并且在操作之前,实体(id=1)的计数 = 0。我想防止计数值冲突,例如:
ndb 中的 count=20。ndb 中 count=30 的期望值。
请告诉我解决方案。
google-app-engine - get_by_id 和父键
我曾经使用get_by_id从数据存储中获取实体,但从不使用Ancestor Paths。但是我的模型的复杂性使它变得很有必要。事实上,祖先路径解决了一个大问题,但现在当我尝试get_by_id
实体返回None
时,如果实体具有父键。这意味着我需要添加父键:
这将变成:
如何构建父密钥?
编辑:
在这一点上,我更喜欢留下祖先路径并添加另一个 keyproperty。