cleanup: Remove six from tests; Remove get_query_set; Remove unused has_custom_queryset

This commit is contained in:
Serg Tereshchenko 2022-07-13 19:46:35 +03:00
parent 426a8f5ff6
commit 89abad769c
3 changed files with 13 additions and 26 deletions

View file

@ -1,8 +1,8 @@
import six
from django.contrib.auth.models import Permission
from django.core import validators
from django.db import models
from django.utils.translation import gettext_lazy
from modeltranslation.manager import MultilingualManager
@ -149,9 +149,9 @@ class FancyDescriptor(object):
return 'a' * length
def __set__(self, obj, value):
if isinstance(value, six.integer_types):
if isinstance(value, int):
obj.__dict__[self.field.name] = value
elif isinstance(value, six.string_types):
elif isinstance(value, str):
obj.__dict__[self.field.name] = len(value)
else:
obj.__dict__[self.field.name] = 0
@ -169,7 +169,7 @@ class FancyField(models.PositiveIntegerField):
def pre_save(self, model_instance, add):
value = super(FancyField, self).pre_save(model_instance, add)
# In this part value should be retrieved using descriptor and be a string
assert isinstance(value, six.string_types)
assert isinstance(value, str)
# We put an int to database
return len(value)
@ -327,16 +327,15 @@ class ManagerTestModel(models.Model):
class CustomManager(models.Manager):
def get_queryset(self):
sup = super(CustomManager, self)
queryset = sup.get_queryset() if hasattr(sup, 'get_queryset') else sup.get_query_set()
return queryset.filter(title__contains='a').exclude(description__contains='x')
get_query_set = get_queryset
return (
super(CustomManager, self)
.get_queryset()
.filter(title__contains='a')
.exclude(description__contains='x')
)
def custom_qs(self):
sup = super(CustomManager, self)
queryset = sup.get_queryset() if hasattr(sup, 'get_queryset') else sup.get_query_set()
return queryset
return super(CustomManager, self).get_queryset()
def foo(self):
return 'bar'
@ -358,8 +357,6 @@ class CustomManager2(models.Manager):
def get_queryset(self):
return CustomQuerySet(self.model, using=self._db)
get_query_set = get_queryset
class CustomManager2TestModel(models.Model):
title = models.CharField(gettext_lazy('title'), max_length=255)
@ -438,8 +435,6 @@ class CustomManagerX(models.Manager):
def get_queryset(self):
return CustomQuerySetX(self.model, using=self._db)
get_query_set = get_queryset
class AbstractBaseModelX(models.Model):
name = models.CharField(max_length=255)

View file

@ -7,7 +7,6 @@ import sys
from decimal import Decimal
import pytest
import six
from django import forms
from django.apps import apps as django_apps
from django.conf import settings as django_settings
@ -259,7 +258,7 @@ class ModeltranslationTest(ModeltranslationTestBase):
def test_verbose_name(self):
verbose_name = models.TestModel._meta.get_field('title_de').verbose_name
assert six.text_type(verbose_name) == 'title [de]'
assert verbose_name == 'title [de]'
def test_descriptor_introspection(self):
# See Django #8248
@ -2706,7 +2705,7 @@ class TestManager(ModeltranslationTestBase):
# Custom method
assert 'bar' == models.CustomManagerTestModel.objects.foo()
# Ensure that get_query_set is working - filter objects to those with 'a' in title
# Ensure that get_queryset is working - filter objects to those with 'a' in title
assert 'en' == get_language()
assert 2 == models.CustomManagerTestModel.objects.count()
with override('de'):

View file

@ -187,13 +187,6 @@ def add_translation_fields(model, opts):
model._meta.get_fields()
def has_custom_queryset(manager):
"Check whether manager (or its parents) has declared some custom get_queryset method."
old_diff = getattr(manager, 'get_query_set', None) != getattr(Manager, 'get_query_set', None)
new_diff = getattr(manager, 'get_queryset', None) != getattr(Manager, 'get_queryset', None)
return old_diff or new_diff
def patch_manager_class(manager):
if isinstance(manager, MultilingualManager):
return