ManyToManyFields en Django Admin
-
03-07-2019 - |
Pregunta
Estoy usando Photologue en mi aplicación, y realmente me gusta el selector ManyToManyField
que aparece en la aplicación de administración (dos cuadros de selección múltiple con flechas para mover elementos entre los estados seleccionados y no seleccionados, junto con < !> quot; Elija All " y " Clear All " opciones).
Estoy usando un código muy similar en mi propio modelo, pero mi selector <select multiple="multiple" ...>
solo aparece como un campo admin.py
normal. No puedo ver nada especial en Photologue models.py
o <=>, y las dos aplicaciones se ejecutan en el mismo proyecto.
Mi modelo:
class Portfolio(models.Model):
images = models.ManyToManyField(Photo, related_name='portfolios')
...
Modelo relevante de Photologue:
class Gallery(models.Model):
....
photos = models.ManyToManyField('Photo',
related_name='galleries',
verbose_name=_('photos'),
null=True, blank=True)
Administrador de Photologue:
class GalleryAdmin(admin.ModelAdmin):
list_display = ('title', 'date_added', 'photo_count', 'is_public')
list_filter = ['date_added', 'is_public']
date_hierarchy = 'date_added'
prepopulated_fields = {'title_slug': ('title',)}
filter_horizontal = ('photos',)
Alguien sabe lo que me estoy perdiendo? Publicaré capturas de pantalla si ayudaría.
Gracias,
Dom
Solución
Consulte los documentos de django para filter_horizontal
un ingenioso y discreto JavaScript " filter " interfaz en lugar de la usabilidad impugnada < seleccione múltiples > en el formulario de administrador.