私はモデルの章を持っています:
class Chapter(ndb.Model):
tutKey = ndb.KeyProperty(kind='Tutorial')
title = ndb.StringProperty(required=True)
content = ndb.TextProperty(required=True)
note = ndb.TextProperty()
lvl = ndb.IntegerProperty(default=0)
order = ndb.IntegerProperty(default=0)
parentID = ndb.KeyProperty(kind='Chapter')
number = ndb.IntegerProperty()
'number' は基本章です (chap1 または chap 1.2 は番号 = 1 です)。「lvl」はチャプターの深さを表します。たとえば、chap1.1.1 ではレベル 3、chap1.1.1.1 ではレベル 4 です。「order」は、チャプターの順番を示します。たとえば、chap1 では.2 'order' は 2 で、chap2.2 の 'order' も 2 です。
次の章を並べ替えるにはどうすればよいですか (たとえば)?
chapter 2
chapter 2.1
chapter 1.1.1
chapter 1.1
chapter 1
私は考えていました...「1.2.1」のような章番号を保存する StringProperty を作成し、文字列を「。」で分割する必要がありますか? ?
EDIT:JBernardoによって提案されたListPropertyに相当するndb.IntegerProperty(repeated = True)を作成しました。データを正しく保存できますが、プロパティで並べ替える方法がありません。誰でもこれを行う方法を知っていますか?