次のように tree_id フィールドをオーバーライドします。
与えられた:
class Thing(MPTTModel):
thing_id = models.AutoField(primary_key=True)
...
class MPTTMeta:
tree_id = ?
「モノ」の最初の親を作成しているときに、オブジェクトが最初に保存されたときに割り当てられたthing_idでtree_idを開始したいと思います。
次に、後で作成される「Thing」オブジェクトには、先に作成された最初の親の thing_id を渡したいと思います。
つまり、tree のすべてのノードは、最初の祖先の objectId(thing_id) を tree_id として持ちます。
出来ますか?
「モノ」オブジェクトの作成中に値を渡すにはどうすればよいですか?
編集:
したがって、私のニーズに対する解決策は単に Thing.objects.get(pk=thing_id).get_descendants() のようです