summaryrefslogtreecommitdiff
path: root/tests/modeladmin/test_checks.py
diff options
context:
space:
mode:
authorAntoine Cheneau <antoine.cheneau@student-cs.fr>2023-11-01 11:31:32 +0100
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2023-11-02 10:42:20 +0100
commit65c283be163212f5679b5edbd6a24c88b3af04ce (patch)
tree2042b079fac3c9d615c5aa7fb9e7a5fe06a0ad15 /tests/modeladmin/test_checks.py
parent36173cf29d6ad0b0f0cd24326834dddfff2db7f3 (diff)
Fixed #34927 -- Fixed admin system check for inlines with foreign keys to proxy models.
Follow up to 0e8be73812a6e62d5a6b12a585d133b56bc2bf52.
Diffstat (limited to 'tests/modeladmin/test_checks.py')
-rw-r--r--tests/modeladmin/test_checks.py39
1 files changed, 39 insertions, 0 deletions
diff --git a/tests/modeladmin/test_checks.py b/tests/modeladmin/test_checks.py
index 2ed27f8a3d..47b1b40ed7 100644
--- a/tests/modeladmin/test_checks.py
+++ b/tests/modeladmin/test_checks.py
@@ -1268,6 +1268,45 @@ class FkNameCheckTests(CheckTestCase):
self.assertIsValid(TestModelAdmin, ValidationTestModel)
+ def test_proxy_model(self):
+ class Reporter(Model):
+ pass
+
+ class ProxyJournalist(Reporter):
+ class Meta:
+ proxy = True
+
+ class Article(Model):
+ reporter = ForeignKey(ProxyJournalist, on_delete=CASCADE)
+
+ class ArticleInline(admin.TabularInline):
+ model = Article
+
+ class ReporterAdmin(admin.ModelAdmin):
+ inlines = [ArticleInline]
+
+ self.assertIsValid(ReporterAdmin, Reporter)
+
+ def test_proxy_model_fk_name(self):
+ class ReporterFkName(Model):
+ pass
+
+ class ProxyJournalistFkName(ReporterFkName):
+ class Meta:
+ proxy = True
+
+ class ArticleFkName(Model):
+ reporter = ForeignKey(ProxyJournalistFkName, on_delete=CASCADE)
+
+ class ArticleInline(admin.TabularInline):
+ model = ArticleFkName
+ fk_name = "reporter"
+
+ class ReporterAdmin(admin.ModelAdmin):
+ inlines = [ArticleInline]
+
+ self.assertIsValid(ReporterAdmin, ReporterFkName)
+
def test_proxy_model_parent(self):
class Parent(Model):
pass