diff options
author | Akshesh <aksheshdoshi@gmail.com> | 2016-03-28 00:50:54 +0530 |
---|---|---|
committer | Tim Graham <timograham@gmail.com> | 2016-03-30 13:06:27 -0400 |
commit | 49f95cc0a0167e91fd0f6987428905911bff076c (patch) | |
tree | 1bcd7e7df4a2afbf6f5d88b04c137d1c4939ce73 /tests/proxy_models | |
parent | 2e0cd26ffb29189add1e0435913fd1490f52b20d (diff) | |
download | django-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.py | 10 | ||||
-rw-r--r-- | tests/proxy_models/tests.py | 10 |
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) |