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

Foi útil?

Solução

Veja Django docs para filter_horizontal

a discreta de interface bacana JavaScript "filtro" em vez do

O conteúdo é licenciado no Creative Commons.

Se você encontrar violações de direitos autorais, poderá entrar em contato conosco em info@generacodice.com para solicitar a remoção do conteúdo.

scroll top