﻿id	summary	reporter	owner	description	type	status	component	version	severity	resolution	keywords	cc	stage	has_patch	needs_docs	needs_tests	needs_better_patch	easy	ui_ux
27897	Searching for foreign key's pk in the admin crashes with FieldDoesNotExist	rm_	Josh Schneier	"On django 1.10.6 and python 2.7.9 given this Model and ModelAdmin:

{{{
class Bar(models.Model):
    name = models.CharField(
        max_length=256
    )

class Foo(models.Model):
    name = models.CharField(
        max_length=256
    )
    bar = models.ForeignKey(Bar)

class FooAdmin(admin.ModelAdmin):
    search_fields = ['bar__pk']
}}}

Each search returns:

{{{
File ""/venv/local/lib/python2.7/site-packages/django/contrib/admin/views/main.py"" in __init__
  78.         self.queryset = self.get_queryset(request)

File ""/venv/local/lib/python2.7/site-packages/django/contrib/admin/views/main.py"" in get_queryset
  346.         qs, search_use_distinct = self.model_admin.get_search_results(request, qs, self.query)

File ""/venv/local/lib/python2.7/site-packages/django/contrib/admin/options.py"" in get_search_results
  908.                     if lookup_needs_distinct(self.opts, search_spec):

File ""/venv/local/lib/python2.7/site-packages/django/contrib/admin/utils.py"" in lookup_needs_distinct
  32.         field = opts.get_field(field_name)

File ""/venv/local/lib/python2.7/site-packages/django/db/models/options.py"" in get_field
  619.             raise FieldDoesNotExist('%s has no field named %r' % (self.object_name, field_name))

Exception Type: FieldDoesNotExist at /admin/app/foo/
Exception Value: Bar has no field named u'pk'
}}}

Same code works fine in 1.8.16.

UPDATE: i've updated the test case as searching for the pk of the admin model does not work in 1.8.16 too"	Bug	closed	contrib.admin	dev	Normal	fixed			Accepted	1	0	0	0	0	0
