diff options
| author | Josh Schneier <josh.schneier@gmail.com> | 2017-03-15 13:45:18 -0400 |
|---|---|---|
| committer | Tim Graham <timograham@gmail.com> | 2017-03-15 13:45:36 -0400 |
| commit | 0cc9175c7682ac2d2df698597032757e6edd160b (patch) | |
| tree | 355a19092835976d908e8179e7c01e946d610d10 /tests | |
| parent | a95616944b9cb58c2547d1f08590b3ad3a142fe2 (diff) | |
[1.11.x] Fixed #27897 -- Fixed crash with 'pk' in ModelAdmin.search_filters.
Backport of 6bc4ff36db0d85ac96ca91ae758159ee43836f86 from master
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/admin_changelist/tests.py | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/tests/admin_changelist/tests.py b/tests/admin_changelist/tests.py index b2292a77a0..651bcdf475 100644 --- a/tests/admin_changelist/tests.py +++ b/tests/admin_changelist/tests.py @@ -445,6 +445,21 @@ class ChangeListTests(TestCase): # There's only one Concert instance self.assertEqual(cl.queryset.count(), 1) + def test_pk_in_search_fields(self): + band = Group.objects.create(name='The Hype') + Concert.objects.create(name='Woodstock', group=band) + + m = ConcertAdmin(Concert, custom_site) + m.search_fields = ['group__pk'] + + request = self.factory.get('/concert/', data={SEARCH_VAR: band.pk}) + cl = ChangeList(request, Concert, *get_changelist_args(m)) + self.assertEqual(cl.queryset.count(), 1) + + request = self.factory.get('/concert/', data={SEARCH_VAR: band.pk + 5}) + cl = ChangeList(request, Concert, *get_changelist_args(m)) + self.assertEqual(cl.queryset.count(), 0) + def test_no_distinct_for_m2m_in_list_filter_without_params(self): """ If a ManyToManyField is in list_filter but isn't in any lookup params, |
