2009-11-09 14 views

risposta

43

Dal docs:

L'applicazione Django Admin definisce un numero di widget personalizzati per calendari, selezioni filtrati, e così via. Questi widget definiscono i requisiti dei media e Django Admin utilizza i widget personalizzati al posto dei default di Django. I modelli di amministrazione includeranno solo i file multimediali necessari per il rendering dei widget su una determinata pagina.

Se ti piacciono i widget che l'applicazione Django Admin utilizza, sentiti libero di usarli nella tua applicazione! Sono tutti archiviati in django.contrib.admin.widgets.

In questo caso, si desidera il widget FilteredSelectMultiple. Per utilizzarlo, applicare il widget sul un campo di modulo in questo modo:

my_field = forms.ModelMultipleChoiceField(queryset=MyModel.objects.all(), widget=FilteredSelectMultiple("verbose name", is_stacked=False)) 

assicurarsi di includere le forme media nel modello come ha bisogno di includere un paio di file JS.

+0

Hrm ... non vuole funzionare per qualche motivo. Tutto il JS è lì, ma non sta convertendo la selectbox per qualche motivo. http://7src.com/~mnb2/a3/access – mpen

+0

Puoi incollare del codice su http://dpaste.com? – Bartek

+0

Questa è un'ipotesi selvaggia, ma prova a impostare il tuo secondo argomento (per la variabile 'is_stacked') su False. Guardando il codice, sembra che questo possa influenzare la visualizzazione di due box o meno. Sfortunatamente non posso testarlo da solo in questo momento, quindi sto solo guardando attraverso il codice hehe :) – Bartek

Problemi correlati