From 67cf5efa31acb2916034afb15610b700695dfcb0 Mon Sep 17 00:00:00 2001 From: Simon Charette Date: Mon, 28 Mar 2016 14:14:24 -0400 Subject: 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. --- tests/model_inheritance/tests.py | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) (limited to 'tests') 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 -- cgit v1.3