appengine文件说明了重复的ndb专业人士:
更新重复属性时,您可以为其分配新列表或改变现有列表.
https://developers.google.com/appengine/docs/python/ndb/properties#repeated
两个问题:
我只是改变列表而不是添加新列表时保存写操作?
我该怎么做突变?只需附加对象并删除列表中的项目,就像我在python中使用列表一样?
谢谢!
我正在寻求建议,我如何在速度方面改进:
我的数据模型:
class Events(ndb.Model):
eventid = ndb.StringProperty(required=True)
participants = ndb.StringProperty(repeated=True)
Run Code Online (Sandbox Code Playgroud)
我尝试获取数据的方式:
def GetEventDataNotCached(eventslist):
futures = []
for eventid in eventslist:
if eventid is not None:
ke = database.Events.query(database.Events.eventid == eventid)
future = ke.get_async(keys_only = True)
futures.append(future)
eventskeys = []
for future in futures:
eventkey = future.get_result()
eventskeys.append(eventkey)
data = ndb.get_multi(eventskeys)
Run Code Online (Sandbox Code Playgroud)
所以我得到了密钥异步,而不是将密钥传递给"get_multi" - 有没有其他方法可以让它更快,因为我仍然不满意性能.
在重复属性中,最多可以有几百个字符串.事件模型中有几万行.在eventslist中我只想获取几十个偶数.