Test to check the default manager after registering model for translation

This commit is contained in:
Dirk Groten 2019-10-20 19:18:27 +02:00
parent 33f0ca9f62
commit b6d4cf81d3
3 changed files with 28 additions and 0 deletions

View file

@ -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):

View file

@ -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

View file

@ -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):