summaryrefslogtreecommitdiff
path: root/tests/modeladmin
diff options
context:
space:
mode:
authortaulant <taliraj@outlook.com>2021-08-30 17:44:22 +0100
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2021-09-03 06:48:32 +0200
commit0e8be73812a6e62d5a6b12a585d133b56bc2bf52 (patch)
tree37e31a58d4eca2dd7b82dd5bab998fcfc5a15e67 /tests/modeladmin
parentb8824e8d17434957650517370f739e340867c381 (diff)
downloaddjango-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.py29
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):