小编Seb*_*ers的帖子

如何改变ndb重复属性?

appengine文件说明了重复的ndb专业人士:

更新重复属性时,您可以为其分配新列表或改变现有列表.

https://developers.google.com/appengine/docs/python/ndb/properties#repeated

两个问题:

  1. 我只是改变列表而不是添加新列表时保存写操作?

  2. 我该怎么做突变?只需附加对象并删除列表中的项目,就像我在python中使用列表一样?

谢谢!

python google-app-engine google-cloud-datastore

10
推荐指数
1
解决办法
2677
查看次数

提高NDB查询性能

我正在寻求建议,我如何在速度方面改进:

我的数据模型:

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中我只想获取几十个偶数.

python optimization google-app-engine app-engine-ndb

3
推荐指数
1
解决办法
1049
查看次数