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

OMG私はついにやった。

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

とてもシンプルですが、それを見つけるのにとても時間がかかります...

于 2013-02-18T17:08:46.477 に答える