ManyToManyFields in Django Admin
-
03-07-2019 - |
Domanda
Sto usando Photologue nella mia applicazione e mi piace molto il selettore ManyToManyField
che appare nell'app di amministrazione (due caselle a selezione multipla con frecce per spostare elementi tra gli stati selezionati e non selezionati, insieme a < !> quot; Scegli tutto " e " Cancella tutto " opzioni).
Sto usando un codice molto simile nel mio modello, ma il mio selettore <select multiple="multiple" ...>
si presenta come un normale campo admin.py
. Non riesco a vedere nulla di speciale in models.py
o <=> di Photologue e le due app sono in esecuzione nello stesso progetto.
Il mio modello:
class Portfolio(models.Model):
images = models.ManyToManyField(Photo, related_name='portfolios')
...
Modello rilevante di Photologue:
class Gallery(models.Model):
....
photos = models.ManyToManyField('Photo',
related_name='galleries',
verbose_name=_('photos'),
null=True, blank=True)
Amministratore da 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',)
Qualcuno sa cosa mi sto perdendo? Pubblicherò screenshot se sarebbe di aiuto.
Grazie,
Dom
Soluzione
Consulta i documenti di django per filter_horizontal
un discreto JavaScript discreto " filtro " interfaccia anziché < con difficoltà di utilizzo; selezionare più > nel modulo di amministrazione.