我必须向现有的 NDB 类添加一个新属性:
class AppList(ndb.Model):
...
ignore = ndb.BooleanProperty(default=False) # new property
然后我会像下面这样使用它:
entries = AppList.query()
entries = entries.filter(AppList.counter > 5)
entries = entries.filter(AppList.ignore == False)
entries = entries.fetch()
我不能AppList.ignore != True
用来捕获早期添加的记录(没有ignore
属性),所以我必须为我的实体False
中的所有记录分配。AppList
最有效的方法是什么?目前,该实体包含大约 4'000 个条目。
更新。我决定使用以下丑陋的代码(没有设法应用cursors
),它作为 cron 作业运行。但是我不是每次都更新相同的 100 条记录吗?
entities = AppList.query()
# entities = entities.filter(AppList.ignore != False)
entities = entities.fetch(100)
while entities:
for entity in entities:
entity.ignore = False
entity.put()
entities = AppList.query()
# entities = entities.filter(AppList.ignore != False)
entities = entities.fetch(100)