app-engine-ndb相关内容
我一直在尝试创建具有属性的实体,该属性应该是唯一的或 None 类似于: 类事物(ndb.Model):东西 = ndb.StringProperty()unique_value = ndb.StringProperty() 由于 ndb 无法指定属性应该是唯一的,因此我像这样手动执行此操作是很自然的: def validate_unique(the_thing):如果 the_thing.
..
来自这篇文章https://stackoverflow.com/a/32107024/5258689 我有一个 dict() 子类——它允许我做 dict.key(使用点来访问我的意思是)——如下: 类权限(字典):"""例子:m = Map({'first_name': 'Eduardo'}, last_name='Pool', age=24,sports=['Soccer'])"""d
..
我有兴趣了解 Google App Engine Datastore 实体的最佳结构,以提高速度和成本效率. 以一个关于俱乐部的应用为例. 结构 A: 每个俱乐部的单个 ndb.Model 实体,具有:姓名、ID、地址、联系人、标签、评论、图片等 结构 B: 每个俱乐部有多个实体,其 KeyProperty 引用俱乐部. ndb.Model 实体 A. 名称和
..
我有一个自定义的 ndb 属性子类,它应该将空字符串解析为 None.当我在 _validate 函数中返回 None 时,None 值将被忽略并且仍然使用空字符串. 我可以以某种方式将输入值转换为 None 吗? class BooleanProperty(ndb.BooleanProperty):def _validate(self, value):v = unicode(value).l
..
我有一个非常奇怪的案例,我无法调试一天. 在我的前端,我有带有 textarea 和提交按钮的表单.提交时,textarea 字段被保存为 ndb.TextProperty()当我提交多行文本时,数据库中的文本会在每一行上获得 = 或 =20 字符.起初我以为它们是随机插入的,但似乎每 76 个字符都会得到一个 = 字符. 这真的很难调试,因为在我的本地主机实例上它工作得很好,但在部署
..
假设我有一个 ndb.Model 类,我想将它用作另一个模型类上的 StructuredProperty: class CommonExtraData(ndb.Model):计数 = ndb.IntegerProperty(required=True)类 MyObject(ndb.Model):名称 = ndb.StringProperty(required=True)额外 = ndb.Stru
..
我有一个推送任务队列,我的每个作业都包含多个类似的 TaskQueue 任务.这些任务中的每一个都需要不到一秒钟的时间来完成,并且可以将新任务添加到队列中(它们也应该完成以认为作业已完成).任务结果写入数据存储. 目标是了解工作何时完成,即所有任务都已完成. 写入非常频繁,我无法将结果存储在一个实体组中.有什么好的解决方法吗? 解决方案 在类似的上下文中,我使用了一个基于 me
..
我只希望有人向我证实我正在以正确的方式做事. 我有这样的结构:有章节的书(祖先=书)有页面(祖先=章) 我很清楚,要按 ID 搜索章节,我需要按祖先查询搜索书. 我的疑问是:我是否需要所有的连锁书章节来搜索页面? 例如(我在 NDB): class Book(ndb.Model):# 按id搜索@类方法def by_id(cls, id):返回 Book.get_by_i
..
我的应用程序中有以下查询 query = cls.query().filter(cls.taskgroup_id == taskgroup_id, cls.availability == True, cls.task_id > min_task_id).order(cls.task_id)query.fetch(1) 以上工作正常.(仅获取那些与 taskgroup_id 匹配且可用且
..
我有电影数据存储,那里的每条记录都有自己的 ID 作为键名,如下所示: 1234532453121547887334543 我想允许用户一一浏览电影.首先,应该显示最新的电影(数据库具有带有日期和时间的字段 added).如何从数据存储中获取它?更新.我可以这样做: movies = Movies.query()电影.订单(-电影.添加)对于 movie.fetch(1) 中的电影:self
..
(想不出更好的标题:S) 所以我最近从 db 更改为 ndb 并且我无法让一个部分工作.我有这个包含章节的教程模型,所以我使用“ndb.StructuredProperty"将模型章节与教程相关联.我可以毫无问题地创建教程和章节,但我无法将章节指向教程. 教程模型: class 教程(ndb.Model):标题 = ndb.StringProperty(required=True)演
..
我正在使用 Google Cloud Endpoints 管理 API,并且正在努力解决一个奇怪的、随机发生的错误.错误仅发生在生产中,单元测试通过属性. 我有以下模型: class UserFacebookData(ndb.Model):facebook_id = ndb.StringProperty(required=True, indexed=True)facebook_token
..
我创建了一个实用程序来交换或压缩所有实体为一种.但是我怎么知道使用的model_class是db.Model还是ndb.Model? def _encode_entity(self, entity):如果 self.ndb :entity_dict = entity.to_dict()self.entity_eid = entity.key.id()entity_dict['NDB'] = Tr
..
我有一个模型类,如: class Book(ndb.Model):标题 = ndb.StringProperty(required=True)作者 = ndb.StringProperty(required=True) 我有一些使用这个的代码: book = Book()印刷书>>书()book_key = book.put()>>BadValueError:实体具有未初始化的属性:作者、
..
我在我的项目中启用了计费,甚至支付了 10 美元只是为了测试这个过程(它有效).但是我无法在 google 应用引擎仪表板上更改我的每日预算. 我转到“结算状态"部分. 我正在输入新的每日预算并点击“提交"按钮. 我收到信息量不大的错误:“处理请求时出错". 所以我无法更新我的预算,而且我的配额已经超过了几个小时.我的用户收到错误,我正在赔钱,没有任何联系官方 Google 支持的
..
我正在使用 Google Appengine 和 Python 学习 Udacity 的网络开发课程. 我想知道如何分配给创建的实体,即它自己的作者. 例如,我有两个 ndb.Models 类型: 类用户(ndb.Model):用户名 = ndb.StringProperty(required = True)bio = ndb.TextProperty(required = Tru
..
我正在开发一个轻量级应用程序,我有很多情况是用户提交表单,表单数据被处理并推送到数据存储区,然后用户被重定向到一个页面,显示一些相同的数据.用户在数据存储更新之前到达页面的情况经常发生,因此他们会看到旧数据.有没有办法让应用程序在继续之前等待数据存储更新?明显的hacky 解决方案是调用sleep(1),但这显然不理想,并且比实际更新花费的时间更长. 解决方案 只要得到 key .put(
..
我有两个模型类别和城市: 类类别(ndb.Model):隐藏 = ndb.BooleanProperty()类别名称 = ndb.StringProperty()班级城市(ndb.Model):类别 = ndb.StructuredProperty(类别,重复 = 真)城市名称 = ndb.StringProperty() 我有 cityEntity:如何返回仅包含 category.hidd
..
下面应该创建一个 Counter 模型并使用(延迟)任务将计数器增加到 10.访问 '/' 应该创建一个 Counter 对象,count = 10.这发生在生产中.在开发中(本地主机)创建了多个 Counter 对象,最大为 10: 我怀疑这是因为 put 在开发中不是同步的(但似乎总是在生产中).有没有办法让它们同步? 下面的代码片段: class Counter(ndb.Mod
..
我有一个带有实例属性的简单 NDB 模型,它是不是 NDB 属性.我想测试当实体被保存并从数据存储中检索时属性值是否丢失. 现在检索实体时,它与已放入数据存储的实例相同. 有没有办法以编程方式清除/无效memcache 和 NDB 内存缓存? 示例是 pytest 测试,抱歉. from google.appengine.ext import testbed, ndb类用户(n
..