2
我想覆盖tree_id领域如下:MPTT - 如何覆盖“tree_id”
考虑:
class Thing(MPTTModel):
thing_id = models.AutoField(primary_key=True)
...
class MPTTMeta:
tree_id = ?
在创建“物”中第一个父我想发起tree_id与thing_id首次保存对象时分配。
接下来,对于稍后创建的“Thing”对象,我想传递之前创建的第一个父对象的thing_id。
即树中的所有节点将具有作为tree_id的第一祖先的objectId(thing_id)。
可能吗?
如何在创建“物品”对象时传递值?
编辑:
因此,似乎对我的需求的解决方案仅仅是:Thing.objects.get(PK = thing_id).get_descendants()
所有我想要的是选择我的“东西”对象的子集。我在文档中看到了Genre.objects.all()的用法,并且认为如果与反向树中第一个祖先有关的所有“事物”都以tree_id作为第一个祖先的目标,那么选择它们会很容易如下所示:list = Thing.objects.filter(thing_type = 2,tree_id = thing_id) – bentzy 2012-03-29 19:06:01
所以..你试图得到节点的后代?你可以使用Thing.objects.get(pk = 1).get_descendants() – craigds 2012-03-29 19:14:21