私はDjangoとMPTTを初めて使用し、すべてのリーフノードを取得してフォームクラスに直接送信する方法を理解するのに苦労しています。たとえば、MPTT カテゴリ モデルを作成し、次のような階層を持っています。
- カテゴリー1
- カテゴリー2
- カテゴリー3
- カテゴリー4
- カテゴリー5
- カテゴリー6
だから私は葉のカテゴリ(cat2,3,5,6)だけを取得したい.私のフォームクラスは次のようになります:
class UploadForm(forms.Form):
description = forms.CharField(max_length=50)
category = mpttform.TreeNodeMultipleChoiceField(queryset=Category.objects.all())
file = forms.FileField()
そして、 queryset=Category.objects.all() を使用すると、上記とまったく同じことが得られます-すべてのカテゴリとその子.リーフノード(子)のみを取得できますが、特定のカテゴリからではなく、すべてのカテゴリからリーフノードを取得する方法はありますか?実例 ?ありがとう。