Вопрос

Я использую Photologue в своем приложении, и мне очень нравится ManyToManyField селектор, который появляется в приложении администратора (два поля множественного выбора со стрелками для перемещения элементов между выбранным и невыбранным состояниями, а также параметры «Выбрать все» и «Очистить все»).

Я использую очень похожий код в своей модели, но мой ManyToManyField селектор просто отображается как обычно <select multiple="multiple" ...> поле.Я не вижу ничего особенного в Фотологе. admin.py или models.py, и оба приложения работают в одном проекте.

Моя модель:

class Portfolio(models.Model):
    images      = models.ManyToManyField(Photo, related_name='portfolios')
    ...

Соответствующая модель из Photologue:

class Gallery(models.Model):
    ....
    photos = models.ManyToManyField('Photo',
                                    related_name='galleries',
                                    verbose_name=_('photos'),
                                    null=True, blank=True)

Админ из Фотолога:

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',)

Кто-нибудь знает, чего мне не хватает?Если это поможет, выложу скриншоты.

Спасибо,

Дом

Это было полезно?

Решение

См. документацию по django для filter_horizontal

изящный ненавязчивый интерфейс «фильтра» JavaScript вместо неудобного для использования <select Multiple> в форме администратора.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top