From 631347da7410b5edbf0ff931495c616d185dc927 Mon Sep 17 00:00:00 2001 From: AbdolHosein Date: Tue, 2 Jan 2018 13:38:23 +0330 Subject: [PATCH 1/4] Patches the issue with the Django 2.0 release on. Fixes #436 --- modeltranslation/manager.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/modeltranslation/manager.py b/modeltranslation/manager.py index 4ad697c..7e75708 100644 --- a/modeltranslation/manager.py +++ b/modeltranslation/manager.py @@ -231,7 +231,9 @@ class MultilingualQuerySet(models.query.QuerySet): kwargs.setdefault('fields_to_del', self.fields_to_del) if hasattr(self, 'original_fields'): kwargs.setdefault('original_fields', self.original_fields) - return super(MultilingualQuerySet, self)._clone(**kwargs) + cloned = super(MultilingualQuerySet, self)._clone() + cloned.__dict__.update(kwargs) + return cloned else: def _clone(self, klass=None, *args, **kwargs): if klass is not None and not issubclass(klass, MultilingualQuerySet): @@ -241,7 +243,10 @@ class MultilingualQuerySet(models.query.QuerySet): klass = NewClass kwargs.setdefault('_rewrite', self._rewrite) kwargs.setdefault('_populate', self._populate) - return super(MultilingualQuerySet, self)._clone(klass, *args, **kwargs) + cloned = super(MultilingualQuerySet, self)._clone() + cloned.__dict__.update(kwargs) + cloned.__class__ = klass + return cloned # This method was not present in django-linguo def rewrite(self, mode=True): From a1ae1d1aa3dde84042825699334ac144181e7673 Mon Sep 17 00:00:00 2001 From: AbdolHosein Date: Tue, 2 Jan 2018 14:11:16 +0330 Subject: [PATCH 2/4] Fixes the fail issue on test progress --- modeltranslation/manager.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/modeltranslation/manager.py b/modeltranslation/manager.py index 7e75708..9cfcb06 100644 --- a/modeltranslation/manager.py +++ b/modeltranslation/manager.py @@ -245,7 +245,9 @@ class MultilingualQuerySet(models.query.QuerySet): kwargs.setdefault('_populate', self._populate) cloned = super(MultilingualQuerySet, self)._clone() cloned.__dict__.update(kwargs) - cloned.__class__ = klass + if klass is not None: + cloned.__class__ = klass + return cloned # This method was not present in django-linguo From dbb372137b2a83e89ac9873a1305c12ccdb688ec Mon Sep 17 00:00:00 2001 From: AbdolHosein Date: Tue, 2 Jan 2018 14:17:02 +0330 Subject: [PATCH 3/4] Removes unwanted spaces --- modeltranslation/manager.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/modeltranslation/manager.py b/modeltranslation/manager.py index 9cfcb06..6aff7d7 100644 --- a/modeltranslation/manager.py +++ b/modeltranslation/manager.py @@ -247,7 +247,8 @@ class MultilingualQuerySet(models.query.QuerySet): cloned.__dict__.update(kwargs) if klass is not None: cloned.__class__ = klass - + + return cloned # This method was not present in django-linguo From fab3bd7cc7ed432f75e18d452a854a8a6d8c057f Mon Sep 17 00:00:00 2001 From: AbdolHosein Date: Tue, 2 Jan 2018 14:25:11 +0330 Subject: [PATCH 4/4] Removes extra blank lines --- modeltranslation/manager.py | 1 - 1 file changed, 1 deletion(-) diff --git a/modeltranslation/manager.py b/modeltranslation/manager.py index 6aff7d7..9ed5b55 100644 --- a/modeltranslation/manager.py +++ b/modeltranslation/manager.py @@ -248,7 +248,6 @@ class MultilingualQuerySet(models.query.QuerySet): if klass is not None: cloned.__class__ = klass - return cloned # This method was not present in django-linguo