这是我的困境:我必须遍历一个实体列表,检查某些重复的属性——我正在使用 NDB——是否为空。如果是,那么我给它赋值,然后put()
. 否则我跳过实体。我正在尝试在谷歌应用引擎附带的远程登录 shell 中完成所有这些工作。
我已经尝试过迭代 Model.query(),执行条件,并写入值,但是当我开始编写时,进程被挂断了。当我最终 Ctrl-C 时,它会弹出一条错误消息,“assert response.set_status_size() == len(server_keys); AssertionError”。我假设这与它试图检索的实体的大小有关。有谁知道怎么回事?这是我当前的代码:
>>> for entity in Model.query():
... if not len(entity.references):
... entity.references = somevalue
... continue
... print 'skipped'
我只会过滤查询而不是使用if
语句,但我不确定如何按重复属性的长度过滤查询。