app-engine-ndb相关内容
我正在使用 GAE Python.我有两个根实体: class X(ndb.Model):主题 = ndb.StringProperty()等级 = ndb.StringProperty()Y类(ndb.Model):标识符 = ndb.StringProperty()名称 = ndb.StringProperty()学校 = ndb.StringProperty()年 = ndb.String
..
此处仅有的两个答案基本上涉及重构数据库以适应此限制,但我不确定在我的情况下如何做到这一点. 我有一个包含数千个联系人的列表,每个联系人都有许多属性.我正在制作一个能够同时过滤多个属性的页面. 例如:年龄 15 天前,位置 == 圣克鲁斯等.可能需要大量的不等式过滤器.如何在 GAE 中实现这一目标? 解决方案 根据 文档(用于 Python)、 限制:数据存储区对查询实施
..
在我的 NDB 数据存储中,我有超过 200 万条记录.我想将这些按 created_at 日期分组的记录导出到 Google Cloud Storage 上的 CSV 文件中.我计算出每个文件大约为 1GB. 2014-03-18.csv,~17000 条记录,~1GB2014-03-17.csv,~17000 条记录,~1GB2014-03-18.csv,~17000 条记录,~1GB...
..
我正在用 Python 和 ndb 做一些工作,但不明白为什么.我将发布案例和上面的代码: 模型.py 类参考(ndb.Model):kind = ndb.StringProperty(required=True)created_at = ndb.DateTimeProperty(auto_now_add=True)some_id = ndb.StringProperty(indexed=
..
假设我有这个代码: A 类(ndb.Model):prop = ndb.StringProperty(verbose_name="Something")米 = A()m.prop = "一个字符串值" 当然,如果我打印 m.prop,它会输出“一个字符串值",而实际上它是一个 StringProperty 实例.因此,verbose_name 无法以“正常"方式访问,即 m.prop._ver
..
NDB tasklets 和 yield 是执行异步/并行代码的好方法.但是,文档中并不清楚这种机制是否可以安全地用于非 ndb 异步函数,例如 images.get_serving_url_async(). NDB 异步操作文档页面有一个非常小的关于使用 NDB 上下文自己版本的 urlfetch_async() 的部分,其中说明(强调我的): 网址提取服务有自己的异步请求 API.
..
我无法在 ndb 分页中进入“上一页". 我已经检查了 文档 以及类似的这里的问题没有成功. def show_feedback(kind, bookmark=None):"""渲染返回的反馈."""光标 = 无more_p= 无如果书签:光标 = 光标(urlsafe=书签)q = Feedback.query()q_forward = q.filter(Feedback.kind==
..
我想获得一个知道实体 ID 和祖先的实体键.ID 在祖先定义的实体组中是唯一的.在我看来,使用 ndb 接口是不可能的.据我了解数据存储可能是由于此操作需要执行完整索引扫描这一事实造成的.我使用的解决方法是在模型中创建一个计算属性,该属性将包含密钥的 id 部分.我现在可以进行祖先查询并获取密钥 class SomeModel(ndb.Model):ID = ndb.ComputedProper
..
这是我想要做的:用户提交太平洋时间,提交后我使用 .replace 将时区设置为太平洋. Pacific = time.USTimeZone(-8, "Pacific", "PST", "PDT")addEvent.date = addEvent.date.replace(tzinfo=Pacific) 一旦我设置了 tzinfo,我就在做一个看跌期权.根据 google appengine
..
我正在尝试实施 ndb 模型审计,以便对属性的所有更改都存储在每个模型实例中.这是我选择实现它的 _pre_put_hook 的代码. def _pre_put_hook(self):# 保存更新的历史记录如果不是(self.key 为 None 或 self.key.id() 为 None):old_object = self.key.get(use_cache=True)对于 dir(sel
..
如何在 NDB 中获得以下查询的等效结果? Entity.all(keys_only=True).fetch(20) 我知道您可以将 'keys_only=True' 传递给 iter() 方法.但是,如果我只想执行密钥获取,我该如何在 NDB 中执行此操作? 解决方案 在 GAE NDB 文档中找到它.答案是Entity.query().fetch(20,keys_only=True
..
我有一个应用程序,它使用 put_async() 将 880 行导入到 NDB 数据存储中.每当我运行此导入时,它都会超过对数据存储进行 50,000 次写入操作的每日配额. 我试图了解为什么此操作如此昂贵,以及如何做才能保持在配额内. 有 13 列,如下所示: stringbool = ['true', 'false']类啤酒菜单(ndb.Model):名称 = ndb.Strin
..
我正在使用 Google App Engine 构建网络游戏.游戏有一个存储的用户创建的关卡列表(可能很多,并且动态增加),每个用户都有一个他已经玩过的关卡列表.我需要为一个他以前没有玩过的用户随机选择一个级别.实体建模如下: 类用户(ndb.Model):uid = ndb.StringProperty()levels_played = ndb.KeyProperty(kind='Level
..
我有两个模型:成员和事件.一个会员可以参加很多活动,在一个活动中,有很多参与者.我是这样想的: 类成员(ndb.model):事件= ndb.KeyProperty(重复=真)类事件(ndb.model):成员 = ndb.KeyProperty(重复=真) 处理多对多关系的最佳方法是什么? 解决方案 我认为在这种情况下,您希望一个模型中的键数组/列表指向另一个模型.由于数组/列表的长
..
根据 Google 的文档,我似乎有两个使用 Python 连接到 Datastore 的主要选项:App Engine 的 NDB Datastore 库和适用于 Python 的 Google Cloud Datastore API. 我目前使用的是 App Engine(标准版),但我想构建我的应用,使其在需要时可以扩展,可能是通过迁移到 Compute Engine.考虑到这一点,我
..
我希望我的应用引擎实例 (Python) 的内存使用量在初始启动期后相对平稳.对我的应用程序的每个请求都是短暂的,似乎应该在不久之后释放单个请求的所有内存使用情况. 然而,实际情况并非如此.下面是控制台提供的实例内存使用情况的快照.我的应用程序流量相对较低,所以我通常只运行一个实例.在图表中的两天期间,内存使用趋势不断增加.(这两个 blip 是两个实例短暂运行的地方.) 我经常遇到内
..
在 CMS 中,使用带排序的常规 NDB 查询检索客户列表.为了允许过滤姓名、公司名称和电子邮件,我创建了几个(有时很多)索引.情况并不理想,但可行. 现在有了(实验性的)搜索 API.它似乎与数据存储区(或 NDB)无关,但我的数据已经在那里了. 我想使用全文搜索并同时在多个字段上放置过滤器,所以我应该将数据保留在数据存储区中并在文档中复制部分数据以供搜索 API 使用吗?或者,如搜
..
我在我的 python appengine 项目中同时使用 ndb 和 search-api 查询. 我能找到的关于游标的唯一官方文档: https://cloud.google.com/appengine/docs/python/datastore/query-光标 https://cloud.google.com/appengine/docs/python/search/curs
..
我正在编写我的第一个基于 GAE 和 Python 2.7 运行时的 RESTful Web 服务;我已经开始使用 Guido 闪亮的新 ndb API. 但是,我不确定如何在没有原始数据库 API 的隐式反向引用功能的情况下解决特定情况.如果用户代理请求特定资源并且这些资源被删除 1 度: host/api/kind/id?depth=2 考虑到相关实体的类型在开发时未知,从一
..
我正在尝试创建一个 ndb 模型,其中每条记录都有一个唯一的字段“名称".我想将此字段定义为 key_name 字段并使用它来查找记录.我是否必须包含名称字段,或者我可以以某种方式将 key_name 字段设置为用户可以指定的任意字符串,只要它是唯一的? 我正在考虑使用 Model.get_or_insert 来确保旧记录不会被覆盖,但是有没有办法判断返回值是新创建的还是预先存在的?如果用户
..