我有模型章节:
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 有 number = 1)。'lvl' 表示章节的深度,例如,在 chap1.1.1 中,lvl 为 3,在 chap1.1.1.1 中,lvl 为 4。'order' 表示章节的顺序,例如,在 chap1 .2 'order' 是 2,在 chap2.2 中,'order' 也是 2。
我如何对以下章节进行排序(例如)?
chapter 2
chapter 2.1
chapter 1.1.1
chapter 1.1
chapter 1
我一直在想...我是否应该创建一个 StringProperty 来保存像“1.2.1”这样的章节编号,然后将字符串拆分为“。” ?
编辑:我创建了一个与 JBernardo 建议的 ListProperty 等效的 ndb.IntegerProperty(repeated=True)。我能够正确存储数据,但我无法按属性排序。任何人都知道如何做到这一点?