Sono nuovo di Django e MPTT e ho difficoltà a capire come ottenere tutti i nodi foglia e inviarli direttamente alla classe Form. Per esempio, ho creato MPTT Categoria modello, e hanno la gerarchia in questo modo:Django e MPTT - ottieni solo nodi foglia
- Categoria1
- Categoria2
- Categoria3
- Category4
- di categoria 5
- Category6
quindi voglio solo per ottenere categorie foglia (cat2,3,5,6) .La mia classe Modulo di simile a questa:
class UploadForm(forms.Form):
description = forms.CharField(max_length=50)
category = mpttform.TreeNodeMultipleChoiceField(queryset=Category.objects.all())
file = forms.FileField()
E con set di query = Category.objects.all() Ho esattamente la stessa cosa sopra: tutte le categorie ei suoi figli. C'è un modo per ottenere solo i nodi foglia (figli), ma i nodi foglia da TUTTE le categorie, non da un'istanza di categoria specifica? Grazie.
Grazie La soluzione è Category.objects.filter (LFT = F ('rght') - 1) – Zed
Zed, Zou dovrebbe fare clic sul accetta il pulsante per questa risposta! – Maccesch
Ho pensato che funzionasse per me con Django 1.4.5 e Django MPTT 0.5.5, ma ho realizzato che stava ancora restituendo i nodi radice. Sembra che Category.objects.filter (level__gt = 0) sia un modo migliore, no? – natebeaty