summaryrefslogtreecommitdiff
path: root/tests/admin_views
diff options
context:
space:
mode:
Diffstat (limited to 'tests/admin_views')
-rw-r--r--tests/admin_views/admin.py2
-rw-r--r--tests/admin_views/models.py5
-rw-r--r--tests/admin_views/tests.py19
3 files changed, 25 insertions, 1 deletions
diff --git a/tests/admin_views/admin.py b/tests/admin_views/admin.py
index 0b0ad41e2e..3e8df5b7c2 100644
--- a/tests/admin_views/admin.py
+++ b/tests/admin_views/admin.py
@@ -104,7 +104,7 @@ class ArticleAdmin(admin.ModelAdmin):
list_display = (
'content', 'date', callable_year, 'model_year', 'modeladmin_year',
'model_year_reversed', 'section', lambda obj: obj.title,
- 'order_by_expression',
+ 'order_by_expression', 'model_property_year',
)
list_editable = ('section',)
list_filter = ('date', 'section')
diff --git a/tests/admin_views/models.py b/tests/admin_views/models.py
index d134b34923..aaf86ea1cd 100644
--- a/tests/admin_views/models.py
+++ b/tests/admin_views/models.py
@@ -55,6 +55,11 @@ class Article(models.Model):
model_year_reversed.admin_order_field = '-date'
model_year_reversed.short_description = ''
+ def property_year(self):
+ return self.date.year
+ property_year.admin_order_field = 'date'
+ model_property_year = property(property_year)
+
class Book(models.Model):
"""
diff --git a/tests/admin_views/tests.py b/tests/admin_views/tests.py
index 3acbc3d7ed..87835eb37b 100644
--- a/tests/admin_views/tests.py
+++ b/tests/admin_views/tests.py
@@ -344,6 +344,25 @@ class AdminViewBasicTest(AdminViewBasicTestCase):
"Results of sorting on callable are out of order."
)
+ def test_change_list_sorting_property(self):
+ """
+ Sort on a list_display field that is a property (column 10 is
+ a property in Article model).
+ """
+ response = self.client.get(reverse('admin:admin_views_article_changelist'), {'o': 10})
+ self.assertContentBefore(
+ response,
+ 'Oldest content',
+ 'Middle content',
+ 'Results of sorting on property are out of order.',
+ )
+ self.assertContentBefore(
+ response,
+ 'Middle content',
+ 'Newest content',
+ 'Results of sorting on property are out of order.',
+ )
+
def test_change_list_sorting_callable_query_expression(self):
"""
Query expressions may be used for admin_order_field. (column 9 is