如何在App Engine中订购listproperty字段?

时间:2011-04-21 14:03:25

标签: python google-app-engine google-cloud-datastore

我打算将一些数据存储在listproperty中,并且当我查询我的实体时,我希望确保列表中项目的顺序保持不变。从数据存储区放入和获取数据时是否有这样的保证?

要说清楚,我不是试图通过listproperty中的任何内容来排序一组结果,我只是想确保如果我有一个字符串列表(例如:“Sam”,“Alberto”,“ Rick“),当我访问该实体时,它们总是处于那个顺序。

this question的答案意味着他们总是保持不变,但我想确定: Use a ListProperty or custom tuple property in App Engine?

2 个答案:

答案 0 :(得分:4)

文件中的陈述是:

  

通常会保留订单,因此当查询和get()返回实体时,列表属性值的顺序与存储时的顺序相同。有一个例外:Blob和Text值被移动到列表的末尾;但是,他们保持相对于彼此的原始秩序。

(来自http://code.google.com/appengine/docs/python/datastore/datamodeling.html

因此,如果您只存储字符串,则应按正确的顺序返回。

答案 1 :(得分:1)

ListProperties就像python列表一样工作;他们是订购的,并将继续订购。