Skip to main content

Horizontal filter widget for django-sortedm2m

Project description

sortedm2m-filter-horizontal-widget is an admin widget for Gregor Mülleggers excellent django-sortedm2m library.

This allows for a familiar filter horizontal widget.

https://image.ibb.co/fYO8On/Screen_Shot_2018_05_07_at_9_39_30_AM.png

Installation

pip install django-sortedm2m-filter-horizontal-widget

What version do I need?

Django

Install

< 1.8

0.2

1.8

1.1

>= 1.9

1.2.1

>= 2.0

latest

Usage

Add sortedm2m_filter_horizontal_widget to your INSTALLED_APPS. (needed for static files)

In your ModelAdmin add the following function to override the default widget.

from sortedm2m_filter_horizontal_widget.forms import SortedFilteredSelectMultiple

class MyModelAdmin(admin.ModelAdmin):
    # ...

    def formfield_for_manytomany(self, db_field, request=None, **kwargs):
        if db_field.name == 'your_sortedm2m_field_name':
            kwargs['widget'] = SortedFilteredSelectMultiple()
        return super(MyModelAdmin, self).formfield_for_manytomany(db_field, request, **kwargs)

Todo

  • Automatically assign widget if field is specified in ModelAdmin’s filter_horizontal.

  • Add tests

Changelog

1.3.2:

Fix incorrect class name

1.3.1:

Fix duplicate “Add another” button in stacked inline (#12)

1.3:

Handle responsive css introduced in django 2.0 Handle removal of old JS cross-browser utilities introduced in django 2.0

1.2.1:

Add workaround to have verbose_name reference (#1) Fix Select and Clear All button (#2) Fix translation for Clear All button (#3)

1.2:

Implement new admin style introduced in Django 1.9 Remove all images since buttons are now handled with css Get button active and hover states working Add example project

1.1:

Use admin_prefix to find image, in case user changes STATIC_URL setting Add version requirements per Django version

1.0:

Fixed bugs with popup closing. Added support for Django 1.10+

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page