我打算将一些数据存储在listproperty中,并希望确保当我查询实体时,列表中各项的顺序保持不变。从数据存储中放置和获取数据时是否有这样的保证?
需要明确的是,我并不想按listproperty中的任何内容对一组结果进行排序,我只是想确保如果我有一个字符串列表(例如:“ Sam”,“ Alberto”,“ Rick”) ,当我访问该实体时,它们始终按该顺序排列。
this question的答案表示它们确实始终保持不变,但我想确定:
Use a ListProperty or custom tuple property in App Engine?
最佳答案
该文档中的声明是:
通常会保留顺序,因此当实体通过查询和get()返回时,列表属性值的顺序与存储它们时的顺序相同。有一个例外:Blob和Text值移到列表的末尾;但是,它们彼此保留原始顺序。
(来自http://code.google.com/appengine/docs/python/datastore/datamodeling.html)
因此,如果仅存储字符串,则应以正确的顺序返回它们。