将DataStore Query Result保存为GAE中的列表

时间:2014-01-03 18:37:12

标签: google-app-engine python-2.7

以下是我从数据存储中读取数据的方法

AllScores = User_Scores.all()
for score in AllScores:
      # i make query for my data

但是,如果我想多次从我的数据存储区读取数据,我尝试过这样的事情

UserName= ['name1','name2','name3']
AllScores = User_Scores.all():
count = 0
while (count < len(UserName))
    tempScore = AllScores
    tempScore.filter("name = ",Username[count])
    for score in AllScores:
        # i make query for my data
    count++

但问题是在第一次过滤后,它会影响其余的连续结果,我得到的数据不准确。我如何保存

2 个答案:

答案 0 :(得分:0)

Google App Engine数据存储区只能保证最终的一致结果:https://developers.google.com/appengine/docs/python/datastore/structuring_for_strong_consistency(第一段)。

因此,您需要使用“parent”保存实体并使用祖先查询进行读取 - 正如我在上面提到的示例中所述。

答案 1 :(得分:0)

你似乎混淆了一些概念。

正如appengine db documentation

中所述
  • filter(property_operator, value)的第二个参数应为值。
  • filter修改查询对象。

如果您尝试获取所有名称,则不应过滤名称属性。