diff options
| author | Vytis Banaitis <vytis.banaitis@gmail.com> | 2016-05-05 20:52:54 +0300 |
|---|---|---|
| committer | Tim Graham <timograham@gmail.com> | 2016-06-04 12:14:02 -0400 |
| commit | 2f9c4e2b6fab3ce08cfbebff79d758196250790c (patch) | |
| tree | 550e125782fed8aed39589882c426b9178f78d4e /tests/admin_views | |
| parent | 89ca1128840a2ae011109cbf38ea5ee9549f1533 (diff) | |
Fixed #19963 -- Added support for date_hierarchy across relations.
Diffstat (limited to 'tests/admin_views')
| -rw-r--r-- | tests/admin_views/admin.py | 2 | ||||
| -rw-r--r-- | tests/admin_views/models.py | 1 | ||||
| -rw-r--r-- | tests/admin_views/tests.py | 20 |
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): |
