From 5926ceb8bf26915eca300abc607598145bfed9e8 Mon Sep 17 00:00:00 2001 From: Egor fureunoir Gorbunov Date: Tue, 1 Jul 2025 18:16:02 +0300 Subject: [PATCH] Features: 1) Add missing call to `super().__init__()` in admin field constructor; Fixes: 1) Correct use of `remote` to `remote_opts` for consistent model metadata reference; Extra: 1) Improve formatting for better code readability. --- core/admin.py | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/core/admin.py b/core/admin.py index 505d52f4..9a727cd1 100644 --- a/core/admin.py +++ b/core/admin.py @@ -42,15 +42,17 @@ class RelatedAutocompleteFilter(FieldListFilter): limit = 10 def __init__(self, field, request, params, model, model_admin, field_path): + super().__init__(field, request, params, model, model_admin, field_path) + self.lookup_kwarg = f"{field_path}__{field.target_field.name}__exact" self.lookup_val = params.get(self.lookup_kwarg, "") - remote = field.remote_field.model._meta + remote_opts = field.remote_field.model._meta base_url = reverse("admin:autocomplete") self.autocomplete_url = ( f"{base_url}" - f"?app_label={remote.app_label}" - f"&model_name={remote.model_name}" + f"?app_label={remote_opts.app_label}" + f"&model_name={remote_opts.model_name}" f"&field_name={field.name}" f"&limit={self.limit}" ) @@ -63,12 +65,13 @@ class RelatedAutocompleteFilter(FieldListFilter): def choices(self, changelist): yield { - "selected": bool(self.lookup_val), - "query_string": changelist.get_query_string( - ({self.lookup_kwarg: self.lookup_val} if self.lookup_val else {}), - [] - ), - "display": _("—"), + "selected": bool(self.lookup_val), + "query_string": changelist.get_query_string( + ({self.lookup_kwarg: self.lookup_val} + if self.lookup_val else {}), + [] + ), + "display": _("—"), "autocomplete_url": self.autocomplete_url, "lookup_kwarg": self.lookup_kwarg, "lookup_val": self.lookup_val,