diff options
author | Claude Paroz <claude@2xlibre.net> | 2015-04-11 11:07:13 +0200 |
---|---|---|
committer | Claude Paroz <claude@2xlibre.net> | 2015-04-11 15:29:02 +0200 |
commit | 4e7ed8d0d3e29e21d46abe06ac244da3754c82cc (patch) | |
tree | 493b3e3528c9c8a77f4eb4799c4a6dcc005c64b0 | |
parent | a7bc00e17bebe34cdf23f744937b3c386ee73d81 (diff) | |
download | django-4e7ed8d0d3e29e21d46abe06ac244da3754c82cc.tar.gz |
Fixed #24624 -- Replaced obsoleted rel.opts in admindocs view
Thanks Scott Sanders for the report, and Markus Holtermann and
Tim Graham for the reviews. Refs #24381.
-rw-r--r-- | django/contrib/admindocs/views.py | 4 | ||||
-rw-r--r-- | docs/releases/1.8.1.txt | 4 | ||||
-rw-r--r-- | tests/admin_docs/tests.py | 14 |
3 files changed, 20 insertions, 2 deletions
diff --git a/django/contrib/admindocs/views.py b/django/contrib/admindocs/views.py index 245d0cf39e..f0029c35e1 100644 --- a/django/contrib/admindocs/views.py +++ b/django/contrib/admindocs/views.py @@ -266,8 +266,8 @@ class ModelDetailView(BaseAdminDocsView): # Gather related objects for rel in opts.related_objects: verbose = _("related `%(app_label)s.%(object_name)s` objects") % { - 'app_label': rel.opts.app_label, - 'object_name': rel.opts.object_name, + 'app_label': rel.related_model._meta.app_label, + 'object_name': rel.related_model._meta.object_name, } accessor = rel.get_accessor_name() fields.append({ diff --git a/docs/releases/1.8.1.txt b/docs/releases/1.8.1.txt index 5df9982a1d..9b18dea176 100644 --- a/docs/releases/1.8.1.txt +++ b/docs/releases/1.8.1.txt @@ -31,3 +31,7 @@ Bugfixes * Fixed a crash with ``QuerySet.update()`` on foreign keys to one-to-one fields (:ticket:`24578`). + +* Fixed a regression in the model detail view of + :mod:`~django.contrib.admindocs` when a model has a reverse foreign key + relation (:ticket:`24624`). diff --git a/tests/admin_docs/tests.py b/tests/admin_docs/tests.py index 0881de20ee..b4f78477df 100644 --- a/tests/admin_docs/tests.py +++ b/tests/admin_docs/tests.py @@ -290,6 +290,20 @@ class TestModelDetailView(TestDataMixin, AdminDocsTestCase): "all related %s objects" % (link % ("admin_docs.group", "admin_docs.Group")) ) + def test_model_with_many_to_one(self): + link = '<a class="reference external" href="/admindocs/models/%s/">%s</a>' + response = self.client.get( + reverse('django-admindocs-models-detail', args=['admin_docs', 'company']) + ) + self.assertContains( + response, + "number of related %s objects" % (link % ("admin_docs.person", "admin_docs.Person")) + ) + self.assertContains( + response, + "all related %s objects" % (link % ("admin_docs.person", "admin_docs.Person")) + ) + def test_model_with_no_backward_relations_render_only_relevant_fields(self): """ A model with ``related_name`` of `+` should not show backward relationship |