diff options
author | taulant <taliraj@outlook.com> | 2021-08-30 17:44:22 +0100 |
---|---|---|
committer | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2021-09-03 06:48:32 +0200 |
commit | 0e8be73812a6e62d5a6b12a585d133b56bc2bf52 (patch) | |
tree | 37e31a58d4eca2dd7b82dd5bab998fcfc5a15e67 /tests/modeladmin | |
parent | b8824e8d17434957650517370f739e340867c381 (diff) | |
download | django-0e8be73812a6e62d5a6b12a585d133b56bc2bf52.tar.gz |
Fixed #32975 -- Fixed admin system check for inlines with foreign keys to proxy models.
Diffstat (limited to 'tests/modeladmin')
-rw-r--r-- | tests/modeladmin/test_checks.py | 29 |
1 files changed, 28 insertions, 1 deletions
diff --git a/tests/modeladmin/test_checks.py b/tests/modeladmin/test_checks.py index f224770948..1d6f1ba023 100644 --- a/tests/modeladmin/test_checks.py +++ b/tests/modeladmin/test_checks.py @@ -4,7 +4,7 @@ from django.contrib.admin import BooleanFieldListFilter, SimpleListFilter from django.contrib.admin.options import VERTICAL, ModelAdmin, TabularInline from django.contrib.admin.sites import AdminSite from django.core.checks import Error -from django.db.models import F, Field, Model +from django.db.models import CASCADE, F, Field, ForeignKey, Model from django.db.models.functions import Upper from django.forms.models import BaseModelFormSet from django.test import SimpleTestCase @@ -1121,6 +1121,33 @@ class FkNameCheckTests(CheckTestCase): self.assertIsValid(TestModelAdmin, ValidationTestModel) + def test_proxy_model_parent(self): + class Parent(Model): + pass + + class ProxyChild(Parent): + class Meta: + proxy = True + + class ProxyProxyChild(ProxyChild): + class Meta: + proxy = True + + class Related(Model): + proxy_child = ForeignKey(ProxyChild, on_delete=CASCADE) + + class InlineFkName(admin.TabularInline): + model = Related + fk_name = 'proxy_child' + + class InlineNoFkName(admin.TabularInline): + model = Related + + class ProxyProxyChildAdminFkName(admin.ModelAdmin): + inlines = [InlineFkName, InlineNoFkName] + + self.assertIsValid(ProxyProxyChildAdminFkName, ProxyProxyChild) + class ExtraCheckTests(CheckTestCase): |