通过ListProperty(NDB)对查询进行排序

时间:2013-02-14 19:48:29

标签: python google-app-engine sorting

如何按ListProperty *?

对查询进行排序

模特:

class Chapter(ndb.Model):
    title = ndb.StringProperty(required=True)
    version = ndb.IntegerProperty(repeated=True)

'版本'存储价值如:

1.1 -> [1,1]
1 -> [1]
2.1.1.1.1 -> [2,1,1,1,1]
1.2 -> [1,2]
2.1.2 -> [2,1,2]

我想订购它:

1
1.1
1.2
2.1.1.1.1
2.1.2

*我正在使用NDB,ListProperty = ndb.IntegerProperty(repeated = True)

2 个答案:

答案 0 :(得分:2)

遗憾的是,这不是listproperties的工作方式。对于升序查询,使用的值将是列表中最小的值。 您必须以不同方式存储值(例如,作为字符串)来执行您要求的操作。

答案 1 :(得分:1)

我终于做到了。

newChaps = sorted(chaps, key=lambda obj: obj.version)

这么简单......而且还有很多时间找到它......