diff options
author | Simon Charette <charette.s@gmail.com> | 2016-03-28 14:14:24 -0400 |
---|---|---|
committer | Simon Charette <charette.s@gmail.com> | 2016-03-28 21:11:37 -0400 |
commit | 67cf5efa31acb2916034afb15610b700695dfcb0 (patch) | |
tree | 01e4dbc606eb3d71170a5c5a9c4c0d3f6c8ae0b8 /tests/model_inheritance | |
parent | 0c0e8f0a62eb369bb05ff770ad53656831c8c01a (diff) | |
download | django-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.py | 20 |
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 |