ManyToManyFields em Django admin
-
03-07-2019 - |
Pergunta
Eu estou usando Photologue na minha candidatura, e eu realmente gosto do selector ManyToManyField
que aparece no app para administrador (duas caixas de multi-seleção com setas para mover itens entre os estados selecionados e não-selecionados, junto com "Escolha Todos "e "Limpar Tudo" opções).
Eu estou usando o código muito semelhante em meu próprio modelo, mas meu seletor ManyToManyField
só aparece como um campo <select multiple="multiple" ...>
normal. Eu não consigo ver nada de especial em admin.py
ou models.py
de Photologue, e os dois aplicativos estão funcionando no mesmo projeto.
Meu 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)
Admin 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',)
Alguém sabe o que eu estou perdendo? Vou postar screenshots se ele iria ajudar.
Obrigado,
Dom
Solução
Veja Django docs para filter_horizontal
a discreta de interface bacana JavaScript "filtro" em vez do