Commit bcb693eb authored by Carl Meyer's avatar Carl Meyer
Browse files

Revert "Fixed #23892 -- Made deconstructible classes forwards compatible"

This reverts commit f36151ed.

Adding kwargs to deconstructed objects does not achieve useful
forward-compatibility in general, since additional arguments are silently
dropped rather than having their intended effect. In fact, it can make the
failure more difficult to diagnose. Thanks Shai Berger for discussion.
parent f36151ed
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -5,7 +5,7 @@ from django.db.migrations.operations.base import Operation
class CreateExtension(Operation):
    reversible = True

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

    def state_forwards(self, app_label, state):
@@ -23,7 +23,7 @@ class CreateExtension(Operation):

class HStoreExtension(CreateExtension):

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

    def database_forwards(self, app_label, schema_editor, from_state, to_state):
+1 −1
Original line number Diff line number Diff line
@@ -30,7 +30,7 @@ class KeysValidator(object):
    }
    strict = False

    def __init__(self, keys, strict=False, messages=None, **kwargs):
    def __init__(self, keys, strict=False, messages=None):
        self.keys = set(keys)
        self.strict = strict
        if messages is not None:
+1 −1
Original line number Diff line number Diff line
@@ -150,7 +150,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:
@@ -134,7 +134,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:
@@ -251,7 +251,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, message=None, **kwargs):
    def __init__(self, limit_value, message=None):
        self.limit_value = limit_value
        if message:
            self.message = message
+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
Loading