diff --git a/back_latienda/settings/base.py b/back_latienda/settings/base.py index d7249b5..0ee9a92 100644 --- a/back_latienda/settings/base.py +++ b/back_latienda/settings/base.py @@ -57,6 +57,7 @@ INSTALLED_APPS = [ 'anymail', 'storages', 'mapwidgets', + 'django_admin_listfilter_dropdown', # local apps 'core', diff --git a/companies/admin.py b/companies/admin.py index 539c615..0575242 100644 --- a/companies/admin.py +++ b/companies/admin.py @@ -1,6 +1,7 @@ from django.contrib import admin from django.contrib.gis.db.models import PointField +from django_admin_listfilter_dropdown.filters import DropdownFilter, RelatedDropdownFilter from mapwidgets.widgets import GooglePointFieldWidget from . import models @@ -10,7 +11,7 @@ from . import models class CompanyAdmin(admin.ModelAdmin): list_display = ('short_name', 'city', 'email', 'shop', 'platform', 'sync', 'is_validated', 'is_active', 'link') list_filter = ('platform', 'sync', 'is_validated', 'is_active', 'city') - search_fields = ('short_name', 'company_name', 'email', 'web_link') + search_fields = ('short_name', 'company_name', 'email', 'web_link', ('city', RelatedDropdownFilter)) formfield_overrides = { PointField: {"widget": GooglePointFieldWidget} diff --git a/products/admin.py b/products/admin.py index e57a0d0..8d42fcb 100644 --- a/products/admin.py +++ b/products/admin.py @@ -1,5 +1,7 @@ from django.contrib import admin +from django_admin_listfilter_dropdown.filters import DropdownFilter, RelatedDropdownFilter, ChoiceDropdownFilter + from . import models from . import forms @@ -12,7 +14,13 @@ def model_admin_callable(co): class ProductAdmin(admin.ModelAdmin): form = forms.ProductTagForm list_display = ('name', 'category', 'sourcing_date', 'company', 'active' ) - list_filter = ('company', 'tags', 'category', 'attributes') + list_filter = ( + ('company', RelatedDropdownFilter), + ('tags', RelatedDropdownFilter), + ('category', RelatedDropdownFilter), + ('attributes', RelatedDropdownFilter) + ) + search_fields = ('name', 'sku', 'description') diff --git a/requirements.txt b/requirements.txt index ad2f270..df15689 100644 --- a/requirements.txt +++ b/requirements.txt @@ -17,6 +17,7 @@ woocommerce==2.1.1 django-autocomplete-light==3.8.2 # manually install `pip install --default-timeout=100 future` to avoid wcapi to timeout django-map-widgets==0.3.0 +django-admin-list-filter-dropdown==1.0.3 # required for production django-anymail[amazon_ses]==8.2 boto3==1.17.11