From bb51e19a3be1979fa0f5d066790c82031dea3716 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ben=20St=C3=A4hli?= Date: Sat, 20 Apr 2024 17:46:39 +0200 Subject: [PATCH] #727 wip, added tests, without migrations --- modeltranslation/tests/models.py | 19 +++++++++++++++++++ modeltranslation/tests/tests.py | 4 ++++ modeltranslation/tests/translation.py | 16 ++++++++++++++++ 3 files changed, 39 insertions(+) diff --git a/modeltranslation/tests/models.py b/modeltranslation/tests/models.py index 57524f93..44ecd47c 100644 --- a/modeltranslation/tests/models.py +++ b/modeltranslation/tests/models.py @@ -95,6 +95,25 @@ class ForeignKeyModel(models.Model): on_delete=models.CASCADE, ) +class SetNullForeignKeyBaseModel(models.Model): + test = models.ForeignKey( + TestModel, + null=True, + related_name="test_fks", + on_delete=models.CASCADE, + ) + + class Meta: + abstract = True + + +class FirstSetNullForeignKeyModel(SetNullForeignKeyBaseModel): + pass + + +class SecondSetNullForeignKeyModel(SetNullForeignKeyBaseModel): + pass + class OneToOneFieldModel(models.Model): title = models.CharField(gettext_lazy("title"), max_length=255) diff --git a/modeltranslation/tests/tests.py b/modeltranslation/tests/tests.py index adf2701c..d3c84e21 100644 --- a/modeltranslation/tests/tests.py +++ b/modeltranslation/tests/tests.py @@ -1182,6 +1182,10 @@ def test_indonesian(self): field = models.ForeignKeyModel._meta.get_field("test") assert field.attname != build_localized_fieldname(field.name, "id") + def test_multiple_translated_foreign_keys_delete_foreign_obj(self): + test = TestModel.objects.create(name="test") + test.delete() + class ManyToManyFieldsTest(ModeltranslationTestBase): @classmethod diff --git a/modeltranslation/tests/translation.py b/modeltranslation/tests/translation.py index 587a7218..08f62e14 100644 --- a/modeltranslation/tests/translation.py +++ b/modeltranslation/tests/translation.py @@ -85,6 +85,22 @@ class ForeignKeyModelTranslationOptions(TranslationOptions): ) +@register(models.FirstSetNullForeignKeyModel) +class FirstSetNullForeignKeyModelTranslationOptions(TranslationOptions): + fields = ( + "test", + ) + + +@register(models.SecondSetNullForeignKeyModel) +class SecondSetNullForeignKeyModel(TranslationOptions): + fields = ( + "test", + ) + + + + @register(models.OneToOneFieldModel) class OneToOneFieldModelTranslationOptions(TranslationOptions): fields = (