summaryrefslogtreecommitdiff
path: root/tests/proxy_models
diff options
context:
space:
mode:
authorAkshesh <aksheshdoshi@gmail.com>2016-03-28 00:50:54 +0530
committerTim Graham <timograham@gmail.com>2016-03-30 13:06:27 -0400
commit49f95cc0a0167e91fd0f6987428905911bff076c (patch)
tree1bcd7e7df4a2afbf6f5d88b04c137d1c4939ce73 /tests/proxy_models
parent2e0cd26ffb29189add1e0435913fd1490f52b20d (diff)
downloaddjango-49f95cc0a0167e91fd0f6987428905911bff076c.tar.gz
Fixed #11560 -- Allowed proxy model multiple-inheritance from the same concrete base model.
Diffstat (limited to 'tests/proxy_models')
-rw-r--r--tests/proxy_models/models.py10
-rw-r--r--tests/proxy_models/tests.py10
2 files changed, 16 insertions, 4 deletions
diff --git a/tests/proxy_models/models.py b/tests/proxy_models/models.py
index 6c5f98ec14..cb3975d4ac 100644
--- a/tests/proxy_models/models.py
+++ b/tests/proxy_models/models.py
@@ -110,10 +110,20 @@ class UserProxy(User):
proxy = True
+class AnotherUserProxy(User):
+ class Meta:
+ proxy = True
+
+
class UserProxyProxy(UserProxy):
class Meta:
proxy = True
+
+class MultiUserProxy(UserProxy, AnotherUserProxy):
+ class Meta:
+ proxy = True
+
# We can still use `select_related()` to include related models in our querysets.
diff --git a/tests/proxy_models/tests.py b/tests/proxy_models/tests.py
index 9c2eccb3e5..20899c68d5 100644
--- a/tests/proxy_models/tests.py
+++ b/tests/proxy_models/tests.py
@@ -13,9 +13,9 @@ from django.urls import reverse
from .admin import admin as force_admin_model_registration # NOQA
from .models import (
Abstract, BaseUser, Bug, Country, Improvement, Issue, LowerStatusPerson,
- MyPerson, MyPersonProxy, OtherPerson, Person, ProxyBug, ProxyImprovement,
- ProxyProxyBug, ProxyTrackerUser, State, StateProxy, StatusPerson,
- TrackerUser, User, UserProxy, UserProxyProxy,
+ MultiUserProxy, MyPerson, MyPersonProxy, OtherPerson, Person, ProxyBug,
+ ProxyImprovement, ProxyProxyBug, ProxyTrackerUser, State, StateProxy,
+ StatusPerson, TrackerUser, User, UserProxy, UserProxyProxy,
)
@@ -246,7 +246,7 @@ class ProxyModelTests(TestCase):
ctype = ContentType.objects.get_for_model
self.assertIs(ctype(Person), ctype(OtherPerson))
- def test_user_userproxy_userproxyproxy(self):
+ def test_user_proxy_models(self):
User.objects.create(name='Bruce')
resp = [u.name for u in User.objects.all()]
@@ -258,6 +258,8 @@ class ProxyModelTests(TestCase):
resp = [u.name for u in UserProxyProxy.objects.all()]
self.assertEqual(resp, ['Bruce'])
+ self.assertEqual([u.name for u in MultiUserProxy.objects.all()], ['Bruce'])
+
def test_proxy_for_model(self):
self.assertEqual(UserProxy, UserProxyProxy._meta.proxy_for_model)