summaryrefslogtreecommitdiff
path: root/tests/admin_views
diff options
context:
space:
mode:
authorVytis Banaitis <vytis.banaitis@gmail.com>2016-05-05 20:52:54 +0300
committerTim Graham <timograham@gmail.com>2016-06-04 12:14:02 -0400
commit2f9c4e2b6fab3ce08cfbebff79d758196250790c (patch)
tree550e125782fed8aed39589882c426b9178f78d4e /tests/admin_views
parent89ca1128840a2ae011109cbf38ea5ee9549f1533 (diff)
Fixed #19963 -- Added support for date_hierarchy across relations.
Diffstat (limited to 'tests/admin_views')
-rw-r--r--tests/admin_views/admin.py2
-rw-r--r--tests/admin_views/models.py1
-rw-r--r--tests/admin_views/tests.py20
3 files changed, 22 insertions, 1 deletions
diff --git a/tests/admin_views/admin.py b/tests/admin_views/admin.py
index 31f41515bb..2146fa66f2 100644
--- a/tests/admin_views/admin.py
+++ b/tests/admin_views/admin.py
@@ -973,7 +973,7 @@ site.register(Pizza, PizzaAdmin)
site.register(Topping, ToppingAdmin)
site.register(Album, AlbumAdmin)
site.register(Question)
-site.register(Answer)
+site.register(Answer, date_hierarchy='question__posted')
site.register(PrePopulatedPost, PrePopulatedPostAdmin)
site.register(ComplexSortedPerson, ComplexSortedPersonAdmin)
site.register(FilteredManager, CustomManagerAdmin)
diff --git a/tests/admin_views/models.py b/tests/admin_views/models.py
index 301955efd8..b6ec1b6c31 100644
--- a/tests/admin_views/models.py
+++ b/tests/admin_views/models.py
@@ -621,6 +621,7 @@ class WorkHour(models.Model):
class Question(models.Model):
question = models.CharField(max_length=20)
+ posted = models.DateField(default=datetime.date.today)
@python_2_unicode_compatible
diff --git a/tests/admin_views/tests.py b/tests/admin_views/tests.py
index 281084a8a1..6455b210b2 100644
--- a/tests/admin_views/tests.py
+++ b/tests/admin_views/tests.py
@@ -5331,6 +5331,26 @@ class DateHierarchyTests(TestCase):
self.assert_non_localized_year(response, 2003)
self.assert_non_localized_year(response, 2005)
+ def test_related_field(self):
+ questions_data = (
+ # (posted data, number of answers),
+ (datetime.date(2001, 1, 30), 0),
+ (datetime.date(2003, 3, 15), 1),
+ (datetime.date(2005, 5, 3), 2),
+ )
+ for date, answer_count in questions_data:
+ question = Question.objects.create(posted=date)
+ for i in range(answer_count):
+ question.answer_set.create()
+
+ response = self.client.get(reverse('admin:admin_views_answer_changelist'))
+ for date, answer_count in questions_data:
+ link = '?question__posted__year=%d"' % (date.year,)
+ if answer_count > 0:
+ self.assertContains(response, link)
+ else:
+ self.assertNotContains(response, link)
+
@override_settings(ROOT_URLCONF='admin_views.urls')
class AdminCustomSaveRelatedTests(TestCase):