2009-11-09 19 views

Respuesta

43

Desde el docs:

La aplicación Django administrador define una serie de widgets personalizados para calendarios, selecciones filtradas, y así sucesivamente. Estos widgets definen los requisitos de los medios, y el administrador de Django usa los widgets personalizados en lugar de los valores predeterminados de Django. Las plantillas de administrador solo incluirán los archivos multimedia que se requieren para representar los widgets en cualquier página determinada.

Si le gustan los widgets que utiliza la aplicación Django Admin, ¡siéntase libre de usarlos en su propia aplicación! Todos están almacenados en django.contrib.admin.widgets.

En este caso, usted quiere el widget FilteredSelectMultiple. Para usarlo, aplicar el widget en un campo de formulario, así:

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

Asegúrese de incluir las formas media en la plantilla, ya que tiene que incluir algunos archivos JS.

+0

Hrm ... no quiere trabajar por alguna razón. Todo el JS está allí, pero no está convirtiendo el selectbox por algún motivo. http://7src.com/~mnb2/a3/access – mpen

+0

¿Puedes pegar algún código en http://dpaste.com? – Bartek

+0

Esto es una suposición descabellada, pero intenta establecer tu segundo argumento (para la variable 'is_stacked') en False. Al mirar el código, parece que eso puede afectar la visualización de dos cuadros o no. Lamentablemente, no puedo probarlo ahora mismo, así que solo estoy mirando el código jeje :) – Bartek

Cuestiones relacionadas