#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 django-updates+unsubscr...@googlegroups.com.
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.

Reply via email to