summaryrefslogtreecommitdiff
path: root/tests/model_inheritance
diff options
context:
space:
mode:
authorSimon Charette <charette.s@gmail.com>2016-03-28 14:14:24 -0400
committerSimon Charette <charette.s@gmail.com>2016-03-28 21:11:37 -0400
commit67cf5efa31acb2916034afb15610b700695dfcb0 (patch)
tree01e4dbc606eb3d71170a5c5a9c4c0d3f6c8ae0b8 /tests/model_inheritance
parent0c0e8f0a62eb369bb05ff770ad53656831c8c01a (diff)
downloaddjango-67cf5efa31acb2916034afb15610b700695dfcb0.tar.gz
Fixed #26413 -- Fixed a regression with abstract model inheritance and explicit parent links.
Thanks Trac alias trkjgrdg for the report and Tim for investigation and review.
Diffstat (limited to 'tests/model_inheritance')
-rw-r--r--tests/model_inheritance/tests.py20
1 files changed, 18 insertions, 2 deletions
diff --git a/tests/model_inheritance/tests.py b/tests/model_inheritance/tests.py
index 9b52b91d0e..72079a50f8 100644
--- a/tests/model_inheritance/tests.py
+++ b/tests/model_inheritance/tests.py
@@ -4,9 +4,9 @@ from operator import attrgetter
from django.core.exceptions import FieldError, ValidationError
from django.core.management import call_command
-from django.db import connection
+from django.db import connection, models
from django.test import TestCase, TransactionTestCase
-from django.test.utils import CaptureQueriesContext
+from django.test.utils import CaptureQueriesContext, isolate_apps
from django.utils import six
from .models import (
@@ -140,6 +140,22 @@ class ModelInheritanceTests(TestCase):
m = MixinModel()
self.assertEqual(m.other_attr, 1)
+ @isolate_apps('model_inheritance')
+ def test_abstract_parent_link(self):
+ class A(models.Model):
+ pass
+
+ class B(A):
+ a = models.OneToOneField('A', parent_link=True, on_delete=models.CASCADE)
+
+ class Meta:
+ abstract = True
+
+ class C(B):
+ pass
+
+ self.assertIs(C._meta.parents[A], C._meta.get_field('a'))
+
class ModelInheritanceDataTests(TestCase):
@classmethod