diff --git a/tests/modeltests/custom_pk/fields.py b/tests/modeltests/custom_pk/fields.py index d25eeca1d5..2494d5fd2c 100644 --- a/tests/modeltests/custom_pk/fields.py +++ b/tests/modeltests/custom_pk/fields.py @@ -22,8 +22,7 @@ class MyWrapper(object): return self.value == other.value return self.value == other -class MyAutoField(models.CharField): - __metaclass__ = models.SubfieldBase +class MyAutoField(six.with_metaclass(models.SubfieldBase, models.CharField)): def __init__(self, *args, **kwargs): kwargs['max_length'] = 10 diff --git a/tests/modeltests/field_subclassing/fields.py b/tests/modeltests/field_subclassing/fields.py index 6fecbb63fc..a3867e3671 100644 --- a/tests/modeltests/field_subclassing/fields.py +++ b/tests/modeltests/field_subclassing/fields.py @@ -20,13 +20,12 @@ class Small(object): def __str__(self): return '%s%s' % (force_text(self.first), force_text(self.second)) -class SmallField(models.Field): +class SmallField(six.with_metaclass(models.SubfieldBase, models.Field)): """ Turns the "Small" class into a Django field. Because of the similarities with normal character fields and the fact that Small.__unicode__ does something sensible, we don't need to implement a lot here. """ - __metaclass__ = models.SubfieldBase def __init__(self, *args, **kwargs): kwargs['max_length'] = 2 @@ -56,8 +55,7 @@ class SmallerField(SmallField): pass -class JSONField(models.TextField): - __metaclass__ = models.SubfieldBase +class JSONField(six.with_metaclass(models.SubfieldBase, models.TextField)): description = ("JSONField automatically serializes and desializes values to " "and from JSON.") diff --git a/tests/modeltests/serializers/models.py b/tests/modeltests/serializers/models.py index 290478607b..569f2cec49 100644 --- a/tests/modeltests/serializers/models.py +++ b/tests/modeltests/serializers/models.py @@ -99,8 +99,7 @@ class Team(object): return "%s" % self.title -class TeamField(models.CharField): - __metaclass__ = models.SubfieldBase +class TeamField(six.with_metaclass(models.SubfieldBase, models.CharField)): def __init__(self): super(TeamField, self).__init__(max_length=100) diff --git a/tests/regressiontests/introspection/tests.py b/tests/regressiontests/introspection/tests.py index 06736a68cb..e7cf7b9e1a 100644 --- a/tests/regressiontests/introspection/tests.py +++ b/tests/regressiontests/introspection/tests.py @@ -4,6 +4,7 @@ from functools import update_wrapper from django.db import connection from django.test import TestCase, skipUnlessDBFeature, skipIfDBFeature +from django.utils import six from .models import Reporter, Article @@ -35,8 +36,7 @@ class IgnoreNotimplementedError(type): attrs[k] = ignore_not_implemented(v) return type.__new__(cls, name, bases, attrs) -class IntrospectionTests(TestCase): - __metaclass__ = IgnoreNotimplementedError +class IntrospectionTests(six.with_metaclass(IgnoreNotimplementedError, TestCase)): def test_table_names(self): tl = connection.introspection.table_names() diff --git a/tests/regressiontests/model_forms_regress/tests.py b/tests/regressiontests/model_forms_regress/tests.py index 3cb129f84e..90c907f2a6 100644 --- a/tests/regressiontests/model_forms_regress/tests.py +++ b/tests/regressiontests/model_forms_regress/tests.py @@ -485,9 +485,8 @@ class CustomMetaclass(ModelFormMetaclass): new.base_fields = {} return new -class CustomMetaclassForm(forms.ModelForm): - __metaclass__ = CustomMetaclass - +class CustomMetaclassForm(six.with_metaclass(CustomMetaclass, forms.ModelForm)): + pass class CustomMetaclassTestCase(TestCase): def test_modelform_factory_metaclass(self):