2009-04-30 29 views
5

En Django, ¿cómo represento un ModelMultipleChoiceField como una columna múltiple <table>?ModelMultipleChoiceField como tabla de varias columnas

fav = forms.ModelMultipleChoiceField(Show.objects.all(), 
            widget=forms.CheckboxSelectMultiple) 

Quiero que este campo se muestre como una tabla de varias columnas. ¿Cuál es la mejor manera de hacer eso?

Para aclarar, quiero que la representación tome N objetos y represente HTML <table> con una casilla de verificación en cada celda, por ejemplo, tres columnas en cada <tr>.

Respuesta

6

Django está codificado para usar un <ul> aquí. Consulte el código widgets.py.

Puede subclasificar la clase de widget CheckboxSelectMultiple y proporcionar su propio método .render() utilizando tablas.

+1

¡LOL, esa es mi vieja entrada de blog! :-D woot! jeje también google "el funcionamiento interno de the deathstarwidget";) –

+0

http://skyl.org/log/post/skyl/2011/01/wherein-the-inner-workings-of-the-deathstarwidget-are-revealed/ –

Cuestiones relacionadas