summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorLuke Plant <L.Plant.98@cantab.net>2011-02-21 19:15:02 +0000
committerLuke Plant <L.Plant.98@cantab.net>2011-02-21 19:15:02 +0000
commitfdf9602961bce9439d489ea2d1b11b919b0c7cf4 (patch)
tree16564fd6fa9b5b613420aa1377965e8d8853b7e0 /tests
parent1b062f6613ba234cd2e72df9823ae1b65de02b21 (diff)
Fixed #11058 - list_display_links doesn't allow callables not defined in the model
Thanks to dvine for the report and julien for the patch. git-svn-id: http://code.djangoproject.com/svn/django/trunk@15619 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'tests')
-rw-r--r--tests/regressiontests/modeladmin/models.py5
-rw-r--r--tests/regressiontests/modeladmin/tests.py20
2 files changed, 19 insertions, 6 deletions
diff --git a/tests/regressiontests/modeladmin/models.py b/tests/regressiontests/modeladmin/models.py
index 20dfe2ce98..cb2e3d1b0b 100644
--- a/tests/regressiontests/modeladmin/models.py
+++ b/tests/regressiontests/modeladmin/models.py
@@ -8,7 +8,7 @@ class Band(models.Model):
name = models.CharField(max_length=100)
bio = models.TextField()
sign_date = models.DateField()
-
+
def __unicode__(self):
return self.name
@@ -32,5 +32,8 @@ class ValidationTestModel(models.Model):
pub_date = models.DateTimeField()
band = models.ForeignKey(Band)
+ def decade_published_in(self):
+ return self.pub_date.strftime('%Y')[:3] + "0's"
+
class ValidationTestInlineModel(models.Model):
parent = models.ForeignKey(ValidationTestModel)
diff --git a/tests/regressiontests/modeladmin/tests.py b/tests/regressiontests/modeladmin/tests.py
index 042c1b75ea..74dacd3227 100644
--- a/tests/regressiontests/modeladmin/tests.py
+++ b/tests/regressiontests/modeladmin/tests.py
@@ -771,8 +771,13 @@ class ValidationTests(unittest.TestCase):
ValidationTestModel,
)
+ def a_callable(obj):
+ pass
+
class ValidationTestModelAdmin(ModelAdmin):
- list_display = ('name',)
+ def a_method(self, obj):
+ pass
+ list_display = ('name', 'decade_published_in', 'a_method', a_callable)
validate(ValidationTestModelAdmin, ValidationTestModel)
@@ -794,7 +799,7 @@ class ValidationTests(unittest.TestCase):
self.assertRaisesRegexp(
ImproperlyConfigured,
- "'ValidationTestModelAdmin.list_display_links\[0\]' refers to 'non_existent_field' that is neither a field, method or property of model 'ValidationTestModel'.",
+ "'ValidationTestModelAdmin.list_display_links\[0\]' refers to 'non_existent_field' which is not defined in 'list_display'.",
validate,
ValidationTestModelAdmin,
ValidationTestModel,
@@ -805,15 +810,20 @@ class ValidationTests(unittest.TestCase):
self.assertRaisesRegexp(
ImproperlyConfigured,
- "'ValidationTestModelAdmin.list_display_links\[0\]'refers to 'name' which is not defined in 'list_display'.",
+ "'ValidationTestModelAdmin.list_display_links\[0\]' refers to 'name' which is not defined in 'list_display'.",
validate,
ValidationTestModelAdmin,
ValidationTestModel,
)
+ def a_callable(obj):
+ pass
+
class ValidationTestModelAdmin(ModelAdmin):
- list_display = ('name',)
- list_display_links = ('name',)
+ def a_method(self, obj):
+ pass
+ list_display = ('name', 'decade_published_in', 'a_method', a_callable)
+ list_display_links = ('name', 'decade_published_in', 'a_method', a_callable)
validate(ValidationTestModelAdmin, ValidationTestModel)