Opened 8 years ago
Last modified 8 years ago
#27897 closed Bug
Cannot search for foreign key's pk in the admin anymore — at Version 1
Reported by: | rm_ | Owned by: | nobody |
---|---|---|---|
Component: | contrib.admin | Version: | dev |
Severity: | Normal | Keywords: | |
Cc: | Triage Stage: | Accepted | |
Has patch: | yes | Needs documentation: | no |
Needs tests: | no | Patch needs improvement: | no |
Easy pickings: | no | UI/UX: | no |
Description (last modified by )
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
Change History (1)
comment:1 by , 8 years ago
Description: | modified (diff) |
---|---|
Summary: | Cannot search for pk in the admin anymore → Cannot search for foreign key's pk in the admin anymore |
Note:
See TracTickets
for help on using tickets.