queries = [query for query in QueryHistory.query().order(-QueryHistory.date)]
if(len(queries) > constants.QUERY_LIMIT_SIZE):
    que = queries[constants.QUERY_LIMIT_SIZE:]
    list_of_keys = que.fetch(keys_only = True)
    ndb.delete_multi(list_of_keys)


我收到AttributeError:从数据存储区删除数据时,“列表”对象没有属性“获取”错误。如果有人有解决方案,请发表评论。

最佳答案

您的que是查询列表,您需要在列表的每个成员而不是列表本身上调用.fetch()。尝试这个:

queries = [query for query in QueryHistory.query().order(-QueryHistory.date)]
if(len(queries) > constants.QUERY_LIMIT_SIZE):
    que = queries[constants.QUERY_LIMIT_SIZE:]
    for query in que:
        list_of_keys = query.fetch(keys_only = True)
        ndb.delete_multi(list_of_keys)

09-05 02:54