summaryrefslogtreecommitdiff
path: root/tests/admin_views
diff options
context:
space:
mode:
authorEmmanuelle Delescolle <emma@lasolution.be>2014-10-05 20:06:51 +0200
committerTim Graham <timograham@gmail.com>2014-10-06 08:50:48 -0400
commitc5c4bfa12aa0e8d4e8b46d77b6159f59330c3313 (patch)
tree03088f50319043be629a48010e5642fa212456ad /tests/admin_views
parent0aad1f1ea912e1c855c1ff9c0b89fa28d2035ca3 (diff)
[1.6.x] Fixed #23604 -- Allowed related m2m fields to be references in the admin.
Thanks Simon Charette for review. Backport of a24cf21722 from master
Diffstat (limited to 'tests/admin_views')
-rw-r--r--tests/admin_views/admin.py3
-rw-r--r--tests/admin_views/models.py9
-rw-r--r--tests/admin_views/tests.py4
3 files changed, 15 insertions, 1 deletions
diff --git a/tests/admin_views/admin.py b/tests/admin_views/admin.py
index 62ea8f889b..ca8a9fdbf6 100644
--- a/tests/admin_views/admin.py
+++ b/tests/admin_views/admin.py
@@ -31,7 +31,7 @@ from .models import (Article, Chapter, Account, Media, Child, Parent, Picture,
AdminOrderedCallable, Report, Color2, UnorderedObject, MainPrepopulated,
RelatedPrepopulated, UndeletableObject, UserMessenger, Simple, Choice,
ShortMessage, Telegram, ReferencedByParent, ChildOfReferer, M2MReference,
- ReferencedByInline, InlineReference, InlineReferer)
+ ReferencedByInline, InlineReference, InlineReferer, Ingredient)
def callable_year(dt_value):
@@ -789,6 +789,7 @@ site.register(Color2, CustomTemplateFilterColorAdmin)
site.register(Simple, AttributeErrorRaisingAdmin)
site.register(UserMessenger, MessageTestingAdmin)
site.register(Choice, ChoiceList)
+site.register(Ingredient)
# Register core models we need in our tests
from django.contrib.auth.models import User, Group
diff --git a/tests/admin_views/models.py b/tests/admin_views/models.py
index 91b4aa7f1d..7b8af6f8d2 100644
--- a/tests/admin_views/models.py
+++ b/tests/admin_views/models.py
@@ -716,3 +716,12 @@ class InlineReference(models.Model):
class InlineReferer(models.Model):
refs = models.ManyToManyField(InlineReference)
+
+# Models for #23604
+class Recipe(models.Model):
+ name = models.CharField(max_length=20)
+
+
+class Ingredient(models.Model):
+ name = models.CharField(max_length=20)
+ recipes = models.ManyToManyField('Recipe', related_name='ingredients')
diff --git a/tests/admin_views/tests.py b/tests/admin_views/tests.py
index 01a2288739..3913baa63f 100644
--- a/tests/admin_views/tests.py
+++ b/tests/admin_views/tests.py
@@ -599,6 +599,10 @@ class AdminViewBasicTest(AdminViewBasicTestCase):
response = self.client.get("/test_admin/admin/admin_views/m2mreference/", {TO_FIELD_VAR: 'id'})
self.assertEqual(response.status_code, 200)
+ # #23604 - Specifying the pk of this model should be allowed when this model defines a m2m relationship
+ response = self.client.get("/test_admin/admin/admin_views/ingredient/", {TO_FIELD_VAR: 'id'})
+ self.assertEqual(response.status_code, 200)
+
# #23329 - Specifying a field that is not refered by any other model directly registered
# to this admin site but registered through inheritance should be allowed.
response = self.client.get("/test_admin/admin/admin_views/referencedbyparent/", {TO_FIELD_VAR: 'id'})