首页 > TAG信息列表 > app-engine-ndb
python-测试失败的ndb事务
我想单元测试从模型调用put函数时,如果ndb中的事务失败,会发生什么情况.是否有可能使交易故意失败?解决方法:从docs: If the function raises an exception, the transaction is immediately aborted and NDB re-raises the exception so that the calling code sees it. You can fpython-数据存储区vs Memcache用于高请求率游戏
我一直在将ndb的数据存储用于多人游戏应用.这似乎在使用大量读/写操作,并且无疑会超过配额,并且会花费大量的时间. 我当时正在考虑将所有游戏数据更改为仅存储在内存缓存中.我知道存储在这里的数据随时可能会丢失,但是由于这些数据最多只需要10分钟,并且它只是一个游戏,所以还算不使用GAE ndb进行匹配
我有一个游戏,用户在该游戏中与服务器联系,以找到想要玩游戏的同级别用户.这是游戏请求的基本架构. 我正在使用ndb在Google DataStore中为每个用户级别存储一个等待队列. 我正在通过它们的键访问这些队列,以确保强一致性(根据this article).使用重复的(列表)LocalStructuredProperpython-从数据存储中删除列
我已经更新了一个模型,该模型的一些实例已经存储在数据存储中.我删除了它的一些属性. 是否可以从数据存储中完全删除那些属性?(我并不是说将其设置为“无”)解决方法:更改模型后,添加的新行将没有该列.现有行将继续具有该列.您应该能够使用下面提供的文章对现有数据进行更新,以删除Python-如何设置NDB keyProperty
我在了解实体和键在Google App Engine NDB中的工作方式时遇到了一些麻烦. 我有一个帖子实体和一个用户实体.如何设置发布到用户的user_key? 到目前为止,在交互式控制台中: from google.appengine.ext import ndb from app.lib.posts import Post from app.lib.users import User fropython-GAE NDB Blobstore Google高性能图片服务
我正在制作一个用于上传文本和图像的应用程序.我已经阅读了很多有关blobstore和Google高性能图片服务的文章,最后我找到了一种将它们全部实现的方法. 我想知道的是,是否一切都做得好或可以做得更好,以及将serving_url保存在模型中还是更好,还是必须在每次我要在页面中打印图像时进创建实体后(使用Simpleauth)将用户名属性添加到webapp2用户模型
我目前正在使用Python / App Engine / SimpleAuth向我的应用程序提供OAuth登录.当前的工作流程是用户使用OAuth登录,以后可以在应用程序中为自己创建唯一的用户名. 在创建webapp2用户实体后,创建唯一的用户名时遇到问题.我看到在webapp2 model中,有一种方法可以在应用程序实体组中python-ndb模型-检索属性名称的有序集合
我经常被要求将NDB模型中存储的数据导出到csv.为此,我通常最终编写如下模型: from google.appengine.ext import ndb class Foo(ndb.Model): monty = ndb.StringProperty() python = ndb.StringProperty() @property @classmethod def fieldnames(cls):python – 谷歌appengine:任务队列性能
我目前有一个在appengine上运行的应用程序,我正在使用延迟库执行一些作业,其中一些任务每天运行,而其中一些每月执行一次.这些任务中的大多数查询数据存储区以检索文档,然后将实体存储在索引(Search API)中.其中一些表每月更换一次,我必须在所有实体上运行这些任务(4~5M). 这样一个python – 多个查询与手动排序一个大型查询(AppEngine NDB)
对于像这样的模型: class Thing(ndb.Model): visible = ndb.BooleanProperty() made_by = ndb.KeyProperty(kind=User) belongs_to = ndb.KeyProperty(kind=AnotherThing) 本质上执行’或’查询,但比较不同的属性,所以我不能使用内置的OR …我想得到所有Thing(属于一python – NDB .order返回一个空结果
我的数据库中有两个连接的实体.我们将它们称为A和B.我在内存中有一个A实例(我们称之为a),以下查询当前有效: B.query(B.parent == a.key).fetch(limit=None) 但是以下代码返回空集,即使在dev模式下也会自动创建索引: B.query(B.parent == a.key).order(B.foo, B.bar).fetch(limit=python – NDB查询以字符串开头的结果
使用Google App Engine的NDB,我希望查询以用户输入的字符串开头的所有项目. 例: abc_123 abcdefg 123abc 查询“abc”应该返回abc_123,abcdefg(但是,不是123abc,因为它没有 以“abc”开头) 我以前使用下面的代码来实现类似但不同的目的: q = q.filter(order._properties[kw如何在Python for循环中获取GAE ndb中当前记录的密钥?
我目前有一个网页,其中显示了带有编辑链接的数据存储区中的记录列表.我想从db转换它.到ndb.我是Python和GAE新手. 当前代码= <tbody> {% for listtype in listtypes %} <tr> <td> {{ listtype.ListTypeName }} </td> <td><a href ="/listtypes/edit/{{ listpython – 如何删除包含所有子项的实体
我想对数据存储区中的实体进行级联删除.我的意思是所有的孩子和间接孩子也将被删除.我最初认为这将是默认行为但不知何故它不是…… 我的想法是这样的: ndb.delete_multi(ndb.Model.query(ancestor=key).iter(keys_only = True)) 但模型应该是一个通配符,因为实体可以是几个类的父python – ndb.get_multi返回AssertionError
在过去48小时左右,我的小python GAE应用程序已经开始从ndb.get_multi调用获取AssertionErrors. 将附加完整的回溯,并且在/base/data/…/ndb/model.py的第734行的_BaseValue的__init__中生成服务器上生成错误,并且失败的断言是b_val不是None,并带有消息“Can not not包装无“ 该错误python – 如何为所有NDB数据存储条目分配默认值?
我必须在现有的NDB类中添加一个新属性: class AppList(ndb.Model): ... ignore = ndb.BooleanProperty(default=False) # new property 然后我将使用它如下: entries = AppList.query() entries = entries.filter(AppList.counter > 5) entries = entries.filter(AppList.python – 这个App Engine Ndb语法如何工作?
Guido van Rossum的谷歌应用引擎Ndb库有一个我觉得好奇的syntax for queries.假设您想要找到所有满意的用户,您可以编写此查询: User.query(User.happy == True) 我读到: > User类的查询方法的函数调用,它继承自ndb.Model.好到目前为止. >函数调用的一个参数是一个表达式,它在类属python – Google App Engine – NDB – 在多个记录上设置属性值
我在Google App Engine上使用NDB和Python.在具有相同值的多个实体上更新属性的正确方法是什么? NDB相当于: UPDATE通知SET read = true WHERE user_id = 123. 用例是我有这些扇出通知.特定用户希望将所有通知设置为已读(可能为100).我知道我可以使用get_async和put_async来获取每个未python – 在GAE中组合文本搜索和查询过滤器
我正在编写一个基于GAE的应用程序,它应该允许用户通过它们的几个属性来过滤项目.项目存储为NDB实体.一些道具可以通过标准查询过滤器进行匹配,但有些道具需要对整个事物进行“完整”(子串)文本搜索才有意义.另外,需要一些合理的排序.最好用以下设计的例子说明: class Product(ndb.Mpython – 如何使用NDB映射生成游标
根据the documentation,map函数支持所有查询选项关键字.但是,我无法使用map生成光标和has_more值.你是怎样做的?如果我使用fetch生成结果,游标和has_more我不能再使用map,因为它不适用于简单列表.解决方法:你不能从map()中获取光标 – 获取光标的唯一方法是使用QueryIterator,或者调python – NDB:如何将get_by_id用于实体组中的实体
我正在使用get_by_id()来读取NDB中的实体,我不认为它适用于属于实体组的实体: from google.appengine.ext import ndb class Folder(ndb.Model): name = ndb.StringProperty() parent_folder_key = Folder(name = 'Parent folder').put() sub_folder_key = Folder(name =python – ndb和consistency:为什么在没有父项的查询中发生此行为
我正在用Python和ndb做一些工作,无法理解为什么.我将发布案例和上面的代码: models.py class Reference(ndb.Model): kind = ndb.StringProperty(required=True) created_at = ndb.DateTimeProperty(auto_now_add=True) some_id = ndb.StringProperty(indexed=True) data从Go中的Python项目加载数据存储区实体会导致嵌套的结构切片切片错误
我出于性能原因在Go中的Google AppEngine项目中编写了一个模块,但需要能够从我在数据存储区中的一些实体中读取.我写了Go代码,以便能够读取我在Python中构建的实体,但是我收到以下错误: 数据存储:展平嵌套结构导致切片:字段“消息” Python中的模型定义: class ModelB(ndb.Model):python – App Engine从JsonProperty返回JSON
我喜欢当属性放入数据存储时JsonProperty如何自动将Python结构编码为JSON,并在检索时自动对其进行解码.但是,将JSON数据发送到Web浏览器而不必再次编码会很好.有没有办法获取原始JSON数据(即阻止解码)? class DataForBrowser(ndb.Models) json = ndb.JsonProperty() def g