10得票1回答
在Google App Engine中使用@ndb.tasklet或@ndb.synctasklet

我有一个POST方法,它调用了几个任务。这些任务中有一些带有yield,我的代码中也有一些x.put_async()。所以在所有异步处理完成之前,我不希望它返回。因此,我给所有任务加上了修饰符@ndb.tasklet,这些任务只是小函数。此外,在我的POST方法的开头,我有:@ndb.topl...

10得票1回答
在NDB中,Entity.all(keys_only=True).fetch(20)的等效方法是什么?

如何在 NDB 中获取等效于以下查询的结果?Entity.all(keys_only=True).fetch(20) 我知道你可以向iter()方法传递'keys_only=True'。但是如果我想执行一个仅获取键的操作,我该如何在NDB中实现?

10得票2回答
在NDB中按数量查询重复属性

是否有一种有效的机制可以通过NDB中重复属性中的项数进行查询? 我想做类似这样的事情:Class.query(class.repeated_property.count == 2) 但是显然这并不起作用。

10得票1回答
使用ndb中的get_by_id获取多个实体

在旧的db中,我可以调用Model.get_by_id([1, 2, 3])来获取一个实体列表。 Ndb的Model.get_by_id不支持将id列表作为参数。如何最好地复制旧功能? (注:该段文字是要求翻译的内容,已按要求进行翻译。)

9得票1回答
GAE/P: 使用API调用实现事务安全性

假设您使用一个事务来处理Stripe支付并更新用户实体: @ndb.transactional def process_payment(user_key, amount): user = user_key.get() user.stripe_payment(amount) #...

9得票2回答
使用ndb.KeyProperty如何引用同一模型?

我有一个简单的场景,其中有一个用户类,它具有名称、电子邮件和关注者属性。 class User(ndb.Model): name = ndb.StringProperty(required = True) search_name = ndb.StringProperty(re...

9得票4回答
寻找提供GAE数据存储查询匹配的页面/项计数/导航的想法/替代方案。

我喜欢数据存储的简单性、可扩展性和易用性;而新ndb库中的增强功能也非常出色。 据我了解,按最佳实践,当匹配查询结果的条目数量很大时,不应编写代码来提供项目和/或页面计数;因为唯一的方法是检索所有结果,这会消耗大量资源。 然而,在许多应用程序中,包括我们的应用程序,在查看与查询匹配的项目总...

8得票1回答
在Python的Google App Engine Datastore库中,NDB自动使用缓存,这是否会使事务模型失效?

Google Cloud Datastore的一个主要卖点是它在实体组内提供强一致性。 Cloud Datastore确保通过键和祖先查询的实体查找始终接收到强一致性数据。 [Datastore适用于]基于ACID属性的事务,例如从一个银行账户转移资金到另一个账户。 NDB库是从Pyt...

8得票3回答
Google ndb库中的内存泄漏问题

我认为ndb库存在内存泄漏问题,但我找不到具体位置。 是否有避免下面描述的问题的方法? 你对测试有更精确的想法来解决问题吗? 以下是我复现问题的步骤: 我创建了一个极简的Google App Engine应用程序,包含两个文件。 app.yaml: application: mya...

8得票3回答
使用yield和多个ndb.get_multi_async

我正在尝试提高我的Appengine数据存储查询的效率。目前,我使用同步方法: class Hospital(ndb.Model): name = ndb.StringProperty() buildings= ndb.KeyProperty(kind=Buildin...