diff options
| author | Antoine Cheneau <antoine.cheneau@student-cs.fr> | 2023-11-01 11:31:32 +0100 |
|---|---|---|
| committer | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2023-11-02 10:42:20 +0100 |
| commit | 65c283be163212f5679b5edbd6a24c88b3af04ce (patch) | |
| tree | 2042b079fac3c9d615c5aa7fb9e7a5fe06a0ad15 /tests/modeladmin/test_checks.py | |
| parent | 36173cf29d6ad0b0f0cd24326834dddfff2db7f3 (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.py | 39 |
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 |
