summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/regressiontests/generic_views/detail.py5
-rw-r--r--tests/regressiontests/generic_views/urls.py2
-rw-r--r--tests/regressiontests/generic_views/views.py15
3 files changed, 22 insertions, 0 deletions
diff --git a/tests/regressiontests/generic_views/detail.py b/tests/regressiontests/generic_views/detail.py
index 0b5d8737dd..60c5f7afe9 100644
--- a/tests/regressiontests/generic_views/detail.py
+++ b/tests/regressiontests/generic_views/detail.py
@@ -92,3 +92,8 @@ class DetailViewTest(TestCase):
def test_invalid_queryset(self):
self.assertRaises(ImproperlyConfigured, self.client.get, '/detail/author/invalid/qs/')
+
+ def test_non_model_object_with_meta(self):
+ res = self.client.get('/detail/nonmodel/1/')
+ self.assertEqual(res.status_code, 200)
+ self.assertEqual(res.context['object'].id, "non_model_1")
diff --git a/tests/regressiontests/generic_views/urls.py b/tests/regressiontests/generic_views/urls.py
index 14d4f685a6..5e15c6c9c1 100644
--- a/tests/regressiontests/generic_views/urls.py
+++ b/tests/regressiontests/generic_views/urls.py
@@ -53,6 +53,8 @@ urlpatterns = patterns('',
views.AuthorDetail.as_view()),
(r'^detail/author/invalid/qs/$',
views.AuthorDetail.as_view(queryset=None)),
+ (r'^detail/nonmodel/1/$',
+ views.NonModelDetail.as_view()),
# Create/UpdateView
(r'^edit/artists/create/$',
diff --git a/tests/regressiontests/generic_views/views.py b/tests/regressiontests/generic_views/views.py
index d11d810f3d..f7fcf6f509 100644
--- a/tests/regressiontests/generic_views/views.py
+++ b/tests/regressiontests/generic_views/views.py
@@ -226,3 +226,18 @@ class BookSigningTodayArchive(BookSigningConfig, generic.TodayArchiveView):
class BookSigningDetail(BookSigningConfig, generic.DateDetailView):
context_object_name = 'book'
+
+
+class NonModel(object):
+ id = "non_model_1"
+
+ _meta = None
+
+
+class NonModelDetail(generic.DetailView):
+
+ template_name = 'generic_views/detail.html'
+ model = NonModel
+
+ def get_object(self, queryset=None):
+ return NonModel()