#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.