#34402: Admin searchfields for inherited model
------------------------------------------+------------------------
Reporter: Pavel PanĨocha | Owner: nobody
Type: Bug | Status: new
Component: contrib.admin | Version: 3.2
Severity: Normal | Keywords:
Triage Stage: Unreviewed | Has patch: 0
Needs documentation: 0 | Needs tests: 0
Patch needs improvement: 0 | Easy pickings: 0
UI/UX: 0 |
------------------------------------------+------------------------
Hello everyone!
Let's have model `Payer` and we will create `ExtendedPayer` from it
{{{
class ExtendedPayer(Payer):
...
}}}
We create admin for `ExtendedPayer` and define search fields. We want to
be able to filter by `pk` of `Payer`. So I would expect these to work the
same:
{{{
class ExtendedPayerAdmin(ModelAdmin):
...
search_fields = (
"pk__iexact", ...
)
...
}}}
{{{
class ExtendedPayerAdmin(ModelAdmin):
...
search_fields = (
"id__iexact", ...
)
...
}}}
Guess what? The "id" variant works ok and the "pk" fails with
Why? Because in `construct_search`
([[https://github.com/django/django/blob/4b1bfea2846f66f504265cec46ee1fe94ee9c98b/django/contrib/admin/options.py#L1123|See
Git]]) it's transformed to `pk__iexact__icontains` as it found out that
the `pk` is `payer_ptr` which is FK.
If we want to be correct, it should be `"payer_ptr__pk__iexact"`.
Please let me know if this behaviour is a bug or if is there any reason
behind it.
--
Ticket URL: <https://code.djangoproject.com/ticket/34402>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.
--
You received this message because you are subscribed to the Google Groups
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/django-updates/01070186cc499530-e50992a6-b11b-47bd-a50d-2d89a3e471f7-000000%40eu-central-1.amazonses.com.