Commit 2d06c112 authored by Carl Meyer's avatar Carl Meyer
Browse files

Revert "[1.7.x] Fixed #23892 -- Made deconstructible classes forwards compatible"

This reverts commit 8014001d.

Adding kwargs to deconstructed objects does not achieve useful
forward-compatibility in general, since the additional kwargs are silently
dropped rather than having their expected effect. In fact, it can cause the
failure to be more difficult to debug. Thanks Shai Berger for discussion.
parent 8014001d
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -151,7 +151,7 @@ class FileSystemStorage(Storage):
    """

    def __init__(self, location=None, base_url=None, file_permissions_mode=None,
            directory_permissions_mode=None, **kwargs):
            directory_permissions_mode=None):
        if location is None:
            location = settings.MEDIA_ROOT
        self.base_location = location
+3 −3
Original line number Diff line number Diff line
@@ -23,7 +23,7 @@ class RegexValidator(object):
    inverse_match = False
    flags = 0

    def __init__(self, regex=None, message=None, code=None, inverse_match=None, flags=None, **kwargs):
    def __init__(self, regex=None, message=None, code=None, inverse_match=None, flags=None):
        if regex is not None:
            self.regex = regex
        if message is not None:
@@ -132,7 +132,7 @@ class EmailValidator(object):
        re.IGNORECASE)
    domain_whitelist = ['localhost']

    def __init__(self, message=None, code=None, whitelist=None, **kwargs):
    def __init__(self, message=None, code=None, whitelist=None):
        if message is not None:
            self.message = message
        if code is not None:
@@ -236,7 +236,7 @@ class BaseValidator(object):
    message = _('Ensure this value is %(limit_value)s (it is %(show_value)s).')
    code = 'limit_value'

    def __init__(self, limit_value, **kwargs):
    def __init__(self, limit_value):
        self.limit_value = limit_value

    def __call__(self, value):
+0 −3
Original line number Diff line number Diff line
@@ -37,9 +37,6 @@ class Operation(object):
        self._constructor_args = (args, kwargs)
        return self

    def __init__(self, **kwargs):
        pass

    def deconstruct(self):
        """
        Returns a 3-tuple of class import path (or just name if it lives
+4 −4
Original line number Diff line number Diff line
@@ -10,7 +10,7 @@ class AddField(Operation):
    Adds a field to a model.
    """

    def __init__(self, model_name, name, field, preserve_default=True, **kwargs):
    def __init__(self, model_name, name, field, preserve_default=True):
        self.model_name = model_name
        self.name = name
        self.field = field
@@ -67,7 +67,7 @@ class RemoveField(Operation):
    Removes a field from a model.
    """

    def __init__(self, model_name, name, **kwargs):
    def __init__(self, model_name, name):
        self.model_name = model_name
        self.name = name

@@ -104,7 +104,7 @@ class AlterField(Operation):
    Alters a field's database column (e.g. null, max_length) to the provided new field
    """

    def __init__(self, model_name, name, field, preserve_default=True, **kwargs):
    def __init__(self, model_name, name, field, preserve_default=True):
        self.model_name = model_name
        self.name = name
        self.field = field
@@ -166,7 +166,7 @@ class RenameField(Operation):
    Renames a field on the model. Might affect db_column too.
    """

    def __init__(self, model_name, old_name, new_name, **kwargs):
    def __init__(self, model_name, old_name, new_name):
        self.model_name = model_name
        self.old_name = old_name
        self.new_name = new_name
+8 −8
Original line number Diff line number Diff line
@@ -14,7 +14,7 @@ class CreateModel(Operation):

    serialization_expand_args = ['fields', 'options']

    def __init__(self, name, fields, options=None, bases=None, **kwargs):
    def __init__(self, name, fields, options=None, bases=None):
        self.name = name
        self.fields = fields
        self.options = options or {}
@@ -76,7 +76,7 @@ class DeleteModel(Operation):
    Drops a model's table.
    """

    def __init__(self, name, **kwargs):
    def __init__(self, name):
        self.name = name

    def state_forwards(self, app_label, state):
@@ -106,7 +106,7 @@ class RenameModel(Operation):
    Renames a model.
    """

    def __init__(self, old_name, new_name, **kwargs):
    def __init__(self, old_name, new_name):
        self.old_name = old_name
        self.new_name = new_name

@@ -192,7 +192,7 @@ class AlterModelTable(Operation):
    Renames a model's table
    """

    def __init__(self, name, table, **kwargs):
    def __init__(self, name, table):
        self.name = name
        self.table = table

@@ -236,7 +236,7 @@ class AlterUniqueTogether(Operation):
    """
    option_name = "unique_together"

    def __init__(self, name, unique_together, **kwargs):
    def __init__(self, name, unique_together):
        self.name = name
        unique_together = normalize_together(unique_together)
        self.unique_together = set(tuple(cons) for cons in unique_together)
@@ -274,7 +274,7 @@ class AlterIndexTogether(Operation):
    """
    option_name = "index_together"

    def __init__(self, name, index_together, **kwargs):
    def __init__(self, name, index_together):
        self.name = name
        index_together = normalize_together(index_together)
        self.index_together = set(tuple(cons) for cons in index_together)
@@ -310,7 +310,7 @@ class AlterOrderWithRespectTo(Operation):
    Represents a change with the order_with_respect_to option.
    """

    def __init__(self, name, order_with_respect_to, **kwargs):
    def __init__(self, name, order_with_respect_to):
        self.name = name
        self.order_with_respect_to = order_with_respect_to

@@ -362,7 +362,7 @@ class AlterModelOptions(Operation):
        "verbose_name_plural",
    ]

    def __init__(self, name, options, **kwargs):
    def __init__(self, name, options):
        self.name = name
        self.options = options

Loading