diff options
| author | Emmanuelle Delescolle <emma@lasolution.be> | 2014-10-05 20:06:51 +0200 |
|---|---|---|
| committer | Tim Graham <timograham@gmail.com> | 2014-10-06 08:43:05 -0400 |
| commit | f8d845910b17c119b7ed7fe8b448800bd39c17bc (patch) | |
| tree | b96af2e42f178e8907daa4a408406c204d269d1a /tests | |
| parent | e9609fb7a1758e5de10360d4f181a6e602658406 (diff) | |
[1.7.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')
| -rw-r--r-- | tests/admin_views/admin.py | 3 | ||||
| -rw-r--r-- | tests/admin_views/models.py | 10 | ||||
| -rw-r--r-- | tests/admin_views/tests.py | 4 |
3 files changed, 16 insertions, 1 deletions
diff --git a/tests/admin_views/admin.py b/tests/admin_views/admin.py index c24e08aa1c..8e6cd251e2 100644 --- a/tests/admin_views/admin.py +++ b/tests/admin_views/admin.py @@ -37,7 +37,7 @@ from .models import (Article, Chapter, Child, Parent, Picture, Widget, State, City, Restaurant, Worker, ParentWithDependentChildren, DependentChild, StumpJoke, FieldOverridePost, FunkyTag, ReferencedByParent, ChildOfReferer, M2MReference, ReferencedByInline, - InlineReference, InlineReferer) + InlineReference, InlineReferer, Ingredient) def callable_year(dt_value): @@ -932,6 +932,7 @@ site.register(EmptyModelHidden, EmptyModelHiddenAdmin) site.register(EmptyModelVisible, EmptyModelVisibleAdmin) site.register(EmptyModelMixin, EmptyModelMixinAdmin) site.register(StumpJoke) +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 fd37e8b79e..0d61ba3fbb 100644 --- a/tests/admin_views/models.py +++ b/tests/admin_views/models.py @@ -852,3 +852,13 @@ 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 867dc44627..b1db492aa8 100644 --- a/tests/admin_views/tests.py +++ b/tests/admin_views/tests.py @@ -621,6 +621,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'}) |
