3

如何按 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)

4

2 回答 2

2

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

于 2013-02-14T22:25:00.197 回答
1

天哪,我终于做到了。

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

如此简单……但找到它的时间却如此之多……

于 2013-02-18T17:08:46.477 回答