我想覆盖tree_id字段,如下所示:
假设:
class Thing(MPTTModel):
thing_id = models.AutoField(primary_key=True)
...
class MPTTMeta:
tree_id = ?
在创建“Thing”第一个父项时,我想在首次保存对象时分配thing_id来启动tree_id。
接下来,对于稍后创建的“Thing”对象,我想传递之前创建的第一个父级的thing_id。
即。树中的所有节点都将具有第一个祖先的objectId(thing_id)作为tree_id。
有可能吗?
如何在创建“Thing”对象时传递值?
编辑:
所以似乎我的需求的解决方案仅仅是:Thing.objects.get(pk = thing_id).get_descendants()
答案 0 :(得分:1)
我不知道你要做什么。 tree_id
是一个django-mptt
内部字段,它在mptt算法之外没有多大意义。
也许您正在尝试按thing_id
对树进行排序,以便最老的祖先出现在树中?我不知道您为什么要这样做,但如果是这样,您应该使用order_insertion_by
。
class MPTTMeta:
order_insertion_by = ['thing_id']
文档:http://django-mptt.github.com/django-mptt/models.html#model-options