From b6d4cf81d34be07a200017a88770e291d5ec7a11 Mon Sep 17 00:00:00 2001 From: Dirk Groten Date: Sun, 20 Oct 2019 19:18:27 +0200 Subject: [PATCH] Test to check the default manager after registering model for translation --- modeltranslation/tests/models.py | 21 +++++++++++++++++++++ modeltranslation/tests/tests.py | 4 ++++ modeltranslation/tests/translation.py | 3 +++ 3 files changed, 28 insertions(+) diff --git a/modeltranslation/tests/models.py b/modeltranslation/tests/models.py index 4b40982..bc25d9b 100644 --- a/modeltranslation/tests/models.py +++ b/modeltranslation/tests/models.py @@ -313,6 +313,27 @@ class CustomManager2TestModel(models.Model): objects = CustomManager2() +class CustomManagerAbstract(models.Manager): + def to_translate(self): + return self.get_queryset().filter(needs_translation=True) + + +class CustomManagerBaseModel(models.Model): + needs_translation = models.BooleanField(default=False) + + objects = models.Manager() + translations = CustomManagerAbstract() + + class Meta: + abstract = True + + +class CustomAbstractManagerTestModel(CustomManagerBaseModel): + title = models.CharField(ugettext_lazy('title'), max_length=255) + + objects = CustomManager2() + + # ######### Required fields testing class RequiredModel(models.Model): diff --git a/modeltranslation/tests/tests.py b/modeltranslation/tests/tests.py index 0c79dd0..5002422 100644 --- a/modeltranslation/tests/tests.py +++ b/modeltranslation/tests/tests.py @@ -2730,6 +2730,10 @@ class TestManager(ModeltranslationTestBase): manager = models.CustomManagerTestModel.another_mgr_name self.assertTrue(isinstance(manager, MultilingualManager)) + def test_default_manager_for_inherited_models(self): + manager = models.CustomAbstractManagerTestModel()._meta.default_manager + self.assertEqual('objects', manager.name) + def test_custom_manager2(self): """Test if user-defined queryset is still working""" from modeltranslation.manager import MultilingualManager, MultilingualQuerySet diff --git a/modeltranslation/tests/translation.py b/modeltranslation/tests/translation.py index 402217b..3f98fad 100644 --- a/modeltranslation/tests/translation.py +++ b/modeltranslation/tests/translation.py @@ -137,11 +137,14 @@ class ManagerTestModelTranslationOptions(TranslationOptions): @register([ models.CustomManagerTestModel, models.CustomManager2TestModel, + models.CustomAbstractManagerTestModel ]) class CustomManagerTestModelTranslationOptions(TranslationOptions): fields = ('title',) + + # ######### TranslationOptions field inheritance testing class FieldInheritanceATranslationOptions(TranslationOptions):