diff options
| author | Paulo <commonzenpython@gmail.com> | 2017-06-03 18:13:38 -0400 |
|---|---|---|
| committer | Tim Graham <timograham@gmail.com> | 2017-06-06 08:18:08 -0400 |
| commit | a0707947e4aacd461a3dbb653ddbf800ec2a6dea (patch) | |
| tree | a588011ee90fef8bc5e9ded4ac2bcb32ca040231 /tests | |
| parent | b373812b0bb4654e049ccf6a60e92a7e9f603a99 (diff) | |
[1.11.x] Fixed #28202 -- Fixed FieldListFilter.get_queryset() crash on invalid input.
Backport of 4ad2f862844d35404e4798b3227517625210a72e from master
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/admin_filters/tests.py | 8 | ||||
| -rw-r--r-- | tests/admin_views/admin.py | 2 |
2 files changed, 9 insertions, 1 deletions
diff --git a/tests/admin_filters/tests.py b/tests/admin_filters/tests.py index e2da7ec59e..509e25eece 100644 --- a/tests/admin_filters/tests.py +++ b/tests/admin_filters/tests.py @@ -8,6 +8,7 @@ from django.contrib.admin import ( AllValuesFieldListFilter, BooleanFieldListFilter, ModelAdmin, RelatedOnlyFieldListFilter, SimpleListFilter, site, ) +from django.contrib.admin.options import IncorrectLookupParameters from django.contrib.admin.views.main import ChangeList from django.contrib.auth.admin import UserAdmin from django.contrib.auth.models import User @@ -766,6 +767,13 @@ class ListFiltersTests(TestCase): queryset = changelist.get_queryset(request) self.assertEqual(list(queryset), [self.bio_book, self.djangonaut_book]) + def test_fieldlistfilter_invalid_lookup_parameters(self): + """Filtering by an invalid value.""" + modeladmin = BookAdmin(Book, site) + request = self.request_factory.get('/', {'author__id__exact': 'StringNotInteger!'}) + with self.assertRaises(IncorrectLookupParameters): + self.get_changelist(request, Book, modeladmin) + def test_simplelistfilter(self): modeladmin = DecadeFilterBookAdmin(Book, site) diff --git a/tests/admin_views/admin.py b/tests/admin_views/admin.py index c70bebec87..b5e0ff4814 100644 --- a/tests/admin_views/admin.py +++ b/tests/admin_views/admin.py @@ -176,7 +176,7 @@ class CustomArticleAdmin(admin.ModelAdmin): class ThingAdmin(admin.ModelAdmin): - list_filter = ('color__warm', 'color__value', 'pub_date',) + list_filter = ('color', 'color__warm', 'color__value', 'pub_date') class InquisitionAdmin(admin.ModelAdmin): |
