Jestem nowy w Django i MPTT i mam problem z ustaleniem, jak uzyskać wszystkie węzły liści i wysłać je bezpośrednio do klasy Form. Na przykład, stworzyliśmy MPTT Kategoria model, a mają hierarchię tak:Django i MPTT - dostaję tylko węzły liści
- category1
- Kategoria2
- Category3
- Category4
- Category5
- Category6
Więc chcę tylko dostać kategorie liści (cat2,3,5,6) Klasa .My Formularz wygląda mniej więcej tak:
class UploadForm(forms.Form):
description = forms.CharField(max_length=50)
category = mpttform.TreeNodeMultipleChoiceField(queryset=Category.objects.all())
file = forms.FileField()
iz queryset = Category.objects.all() Dostaję dokładnie to samo powyżej - wszystkie kategorie i ich dzieci. Czy istnieje sposób, w jaki mogę uzyskać tylko węzły liści (dzieci), ale węzły liści z kategorii ALL, a nie z konkretnej instancji kategorii? Dzięki.
Dzięki Rozwiązaniem jest Category.objects.filter (LFT = F ('rght') - 1) – Zed
Zed Zou należy kliknąć na zaakceptuj przycisk dla tej odpowiedzi! – Maccesch
Myślałem, że to działa dla mnie w/Django 1.4.5 i Django MPTT 0.5.5, ale zdałem sobie sprawę, że wciąż zwraca węzły główne. Wygląda na to, że Category.objects.filter (level__gt = 0) jest lepszym sposobem, nie? – natebeaty