diff options
author | Bjorn Kristinsson <bjorn@bjornkri.com> | 2017-10-17 15:22:45 +0200 |
---|---|---|
committer | Tim Graham <timograham@gmail.com> | 2017-11-07 18:46:52 -0500 |
commit | ac6a4eb9f95138628a7eec76bee91eb067af80a9 (patch) | |
tree | 98ce3c7142d05eb9289e361f948c3638b1dfa72e /tests/generic_views | |
parent | a2851f204c6431330042d0343ee99f33449f78e0 (diff) | |
download | django-ac6a4eb9f95138628a7eec76bee91eb067af80a9.tar.gz |
Fixed #28719 -- Added a helpful exception if MultipleObjectTemplateResponseMixin doesn't generate any template names.
Diffstat (limited to 'tests/generic_views')
-rw-r--r-- | tests/generic_views/test_list.py | 8 | ||||
-rw-r--r-- | tests/generic_views/urls.py | 4 | ||||
-rw-r--r-- | tests/generic_views/views.py | 5 |
3 files changed, 17 insertions, 0 deletions
diff --git a/tests/generic_views/test_list.py b/tests/generic_views/test_list.py index ea57b6af9a..259e850232 100644 --- a/tests/generic_views/test_list.py +++ b/tests/generic_views/test_list.py @@ -207,6 +207,14 @@ class ListViewTests(TestCase): with self.assertRaisesMessage(ImproperlyConfigured, msg): self.client.get('/list/authors/invalid/') + def test_invalid_get_queryset(self): + msg = ( + "AuthorListGetQuerysetReturnsNone requires either a 'template_name' " + "attribute or a get_queryset() method that returns a QuerySet." + ) + with self.assertRaisesMessage(ImproperlyConfigured, msg): + self.client.get('/list/authors/get_queryset/') + def test_paginated_list_view_does_not_load_entire_table(self): # Regression test for #17535 self._make_authors(3) diff --git a/tests/generic_views/urls.py b/tests/generic_views/urls.py index b8ba5762c4..1c1fed3386 100644 --- a/tests/generic_views/urls.py +++ b/tests/generic_views/urls.py @@ -133,6 +133,10 @@ urlpatterns = [ path('list/authors/dupe_context_object_name/', views.AuthorList.as_view(context_object_name='object_list')), path('list/authors/invalid/', views.AuthorList.as_view(queryset=None)), path( + 'list/authors/get_queryset/', + views.AuthorListGetQuerysetReturnsNone.as_view(), + ), + path( 'list/authors/paginated/custom_class/', views.AuthorList.as_view(paginate_by=5, paginator_class=views.CustomPaginator), ), diff --git a/tests/generic_views/views.py b/tests/generic_views/views.py index 9041ad81a1..ff08313cb6 100644 --- a/tests/generic_views/views.py +++ b/tests/generic_views/views.py @@ -66,6 +66,11 @@ class AuthorList(generic.ListView): queryset = Author.objects.all() +class AuthorListGetQuerysetReturnsNone(AuthorList): + def get_queryset(self): + return None + + class BookList(generic.ListView): model = Book |