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

Fixed #23892 -- Made deconstructible classes forwards compatible

parent a9cced7a
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):
    def __init__(self, name, **kwargs):
        self.name = name

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

class HStoreExtension(CreateExtension):

    def __init__(self):
    def __init__(self, **kwargs):
        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):
    def __init__(self, keys, strict=False, messages=None, **kwargs):
        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):
            directory_permissions_mode=None, **kwargs):
        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):
    def __init__(self, regex=None, message=None, code=None, inverse_match=None, flags=None, **kwargs):
        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):
    def __init__(self, message=None, code=None, whitelist=None, **kwargs):
        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):
    def __init__(self, limit_value, message=None, **kwargs):
        self.limit_value = limit_value
        if message:
            self.message = message
+3 −0
Original line number Diff line number Diff line
@@ -37,6 +37,9 @@ 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