Features: 1) Add django-admin-autocomplete-list-filter dependency to manage autocomplete functionality in admin list filters; 2) Enable autocomplete_list_filter for ProductAdmin with fields category, author, and tags.
Fixes: None; Extra: 1) Update `poetry.lock` with `django-admin-autocomplete-list-filter` details; 2) Register `djaa_list_filter` in installed apps.
This commit is contained in:
parent
8fe572ac1f
commit
283c3232cc
4 changed files with 17 additions and 2 deletions
|
|
@ -2,6 +2,7 @@ from contextlib import suppress
|
||||||
|
|
||||||
from constance.admin import Config
|
from constance.admin import Config
|
||||||
from constance.admin import ConstanceAdmin as BaseConstanceAdmin
|
from constance.admin import ConstanceAdmin as BaseConstanceAdmin
|
||||||
|
from djaa_list_filter.admin import AjaxAutocompleteListFilterModelAdmin
|
||||||
from django.apps import apps
|
from django.apps import apps
|
||||||
from django.contrib.admin import ModelAdmin, TabularInline, action, register, site
|
from django.contrib.admin import ModelAdmin, TabularInline, action, register, site
|
||||||
from django.contrib.gis.admin import GISModelAdmin
|
from django.contrib.gis.admin import GISModelAdmin
|
||||||
|
|
@ -230,7 +231,7 @@ class BrandAdmin(FieldsetsMixin, ActivationActionsMixin, ModelAdmin):
|
||||||
|
|
||||||
|
|
||||||
@register(Product)
|
@register(Product)
|
||||||
class ProductAdmin(FieldsetsMixin, ActivationActionsMixin, ModelAdmin):
|
class ProductAdmin(FieldsetsMixin, ActivationActionsMixin, AjaxAutocompleteListFilterModelAdmin):
|
||||||
model = Product # type: ignore
|
model = Product # type: ignore
|
||||||
list_display = (
|
list_display = (
|
||||||
"name",
|
"name",
|
||||||
|
|
@ -249,6 +250,7 @@ class ProductAdmin(FieldsetsMixin, ActivationActionsMixin, ModelAdmin):
|
||||||
"created",
|
"created",
|
||||||
"modified",
|
"modified",
|
||||||
)
|
)
|
||||||
|
autocomplete_list_filter = ("category", "author", "tags")
|
||||||
search_fields = (
|
search_fields = (
|
||||||
"name",
|
"name",
|
||||||
"partnumber",
|
"partnumber",
|
||||||
|
|
|
||||||
|
|
@ -108,6 +108,7 @@ INSTALLED_APPS: list[str] = [
|
||||||
"django.contrib.sitemaps",
|
"django.contrib.sitemaps",
|
||||||
"django.contrib.gis",
|
"django.contrib.gis",
|
||||||
"django.contrib.humanize",
|
"django.contrib.humanize",
|
||||||
|
"djaa_list_filter",
|
||||||
"health_check",
|
"health_check",
|
||||||
"health_check.db",
|
"health_check.db",
|
||||||
"health_check.cache",
|
"health_check.cache",
|
||||||
|
|
|
||||||
13
poetry.lock
generated
13
poetry.lock
generated
|
|
@ -1056,6 +1056,17 @@ tzdata = {version = "*", markers = "sys_platform == \"win32\""}
|
||||||
argon2 = ["argon2-cffi (>=19.1.0)"]
|
argon2 = ["argon2-cffi (>=19.1.0)"]
|
||||||
bcrypt = ["bcrypt"]
|
bcrypt = ["bcrypt"]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "django-admin-autocomplete-list-filter"
|
||||||
|
version = "1.0.1"
|
||||||
|
description = "Ajax autocomplete list filter for Django admin"
|
||||||
|
optional = false
|
||||||
|
python-versions = ">=3.0"
|
||||||
|
files = [
|
||||||
|
{file = "django-admin-autocomplete-list-filter-1.0.1.tar.gz", hash = "sha256:135d840cf337ad0f8823fbdb128cefaba65ae0867a87422b9f495f3fa50b204c"},
|
||||||
|
{file = "django_admin_autocomplete_list_filter-1.0.1-py3-none-any.whl", hash = "sha256:2252f75eb6c72f2bc2c98da84986584d8a202b8734d1e53c59cb5b36f52cb0f5"},
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "django-cacheops"
|
name = "django-cacheops"
|
||||||
version = "7.2"
|
version = "7.2"
|
||||||
|
|
@ -5136,4 +5147,4 @@ worker = ["celery", "celery-prometheus-exporter", "django-celery-beat", "django-
|
||||||
[metadata]
|
[metadata]
|
||||||
lock-version = "2.0"
|
lock-version = "2.0"
|
||||||
python-versions = ">=3.12,<3.13"
|
python-versions = ">=3.12,<3.13"
|
||||||
content-hash = "58d67f7b6c2313bdb117965a9c9555319bbb059db043e5723d39a27c36695939"
|
content-hash = "6b5537ef47925ae7382697c6be4362fb3c918f2ab256c9bd2a9a8f33a6f6e02c"
|
||||||
|
|
|
||||||
|
|
@ -14,6 +14,7 @@ colorlog = "6.9.0"
|
||||||
click = "8.2.1"
|
click = "8.2.1"
|
||||||
cryptography = "45.0.4"
|
cryptography = "45.0.4"
|
||||||
django = "5.2"
|
django = "5.2"
|
||||||
|
django-admin-autocomplete-list-filter = "1.0.1"
|
||||||
django-cacheops = "7.2"
|
django-cacheops = "7.2"
|
||||||
django-celery-beat = { version = "2.8.1", optional = true }
|
django-celery-beat = { version = "2.8.1", optional = true }
|
||||||
django-celery-results = { version = "2.6.0", optional = true }
|
django-celery-results = { version = "2.6.0", optional = true }
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue