Removed BaseCommand.requires_model_validation per deprecation timeline.
This commit is contained in:
parent
18192b9fa4
commit
4a03d348c7
|
@ -191,18 +191,6 @@ class BaseCommand(object):
|
|||
is the list of application's configuration provided by the
|
||||
app registry.
|
||||
|
||||
``requires_model_validation``
|
||||
DEPRECATED - This value will only be used if requires_system_checks
|
||||
has not been provided. Defining both ``requires_system_checks`` and
|
||||
``requires_model_validation`` will result in an error.
|
||||
|
||||
A boolean; if ``True``, validation of installed models will be
|
||||
performed prior to executing the command. Default value is
|
||||
``True``. To validate an individual application's models
|
||||
rather than all applications' models, call
|
||||
``self.validate(app_config)`` from ``handle()``, where ``app_config``
|
||||
is the application's configuration provided by the app registry.
|
||||
|
||||
``leave_locale_alone``
|
||||
A boolean indicating whether the locale set in settings should be
|
||||
preserved during the execution of the command instead of translations
|
||||
|
@ -230,11 +218,7 @@ class BaseCommand(object):
|
|||
can_import_settings = True
|
||||
output_transaction = False # Whether to wrap the output in a "BEGIN; COMMIT;"
|
||||
leave_locale_alone = False
|
||||
|
||||
# Uncomment the following line of code after deprecation plan for
|
||||
# requires_model_validation comes to completion:
|
||||
#
|
||||
# requires_system_checks = True
|
||||
requires_system_checks = True
|
||||
|
||||
def __init__(self, stdout=None, stderr=None, no_color=False):
|
||||
self.stdout = OutputWrapper(stdout or sys.stdout)
|
||||
|
@ -245,29 +229,6 @@ class BaseCommand(object):
|
|||
self.style = color_style()
|
||||
self.stderr.style_func = self.style.ERROR
|
||||
|
||||
# `requires_model_validation` is deprecated in favor of
|
||||
# `requires_system_checks`. If both options are present, an error is
|
||||
# raised. Otherwise the present option is used. If none of them is
|
||||
# defined, the default value (True) is used.
|
||||
has_old_option = hasattr(self, 'requires_model_validation')
|
||||
has_new_option = hasattr(self, 'requires_system_checks')
|
||||
|
||||
if has_old_option:
|
||||
warnings.warn(
|
||||
'"requires_model_validation" is deprecated '
|
||||
'in favor of "requires_system_checks".',
|
||||
RemovedInDjango19Warning)
|
||||
if has_old_option and has_new_option:
|
||||
raise ImproperlyConfigured(
|
||||
'Command %s defines both "requires_model_validation" '
|
||||
'and "requires_system_checks", which is illegal. Use only '
|
||||
'"requires_system_checks".' % self.__class__.__name__)
|
||||
|
||||
self.requires_system_checks = (
|
||||
self.requires_system_checks if has_new_option else
|
||||
self.requires_model_validation if has_old_option else
|
||||
True)
|
||||
|
||||
@property
|
||||
def use_argparse(self):
|
||||
return not bool(self.option_list)
|
||||
|
@ -404,8 +365,8 @@ class BaseCommand(object):
|
|||
def execute(self, *args, **options):
|
||||
"""
|
||||
Try to execute this command, performing system checks if needed (as
|
||||
controlled by attributes ``self.requires_system_checks`` and
|
||||
``self.requires_model_validation``, except if force-skipped).
|
||||
controlled by the ``requires_system_checks`` attribute, except if
|
||||
force-skipped).
|
||||
"""
|
||||
if options.get('no_color'):
|
||||
self.style = no_style()
|
||||
|
|
|
@ -282,23 +282,7 @@ All attributes can be set in your derived class and can be used in
|
|||
.. versionadded:: 1.7
|
||||
|
||||
A boolean; if ``True``, the entire Django project will be checked for
|
||||
potential problems prior to executing the command. If
|
||||
``requires_system_checks`` is missing, the value of
|
||||
``requires_model_validation`` is used. If the latter flag is missing
|
||||
as well, the default value (``True``) is used. Defining both
|
||||
``requires_system_checks`` and ``requires_model_validation`` will result
|
||||
in an error.
|
||||
|
||||
.. attribute:: BaseCommand.requires_model_validation
|
||||
|
||||
.. deprecated:: 1.7
|
||||
Replaced by ``requires_system_checks``
|
||||
|
||||
A boolean; if ``True``, validation of installed models will be
|
||||
performed prior to executing the command. Default value is
|
||||
``True``. To validate an individual application's models
|
||||
rather than all applications' models, call
|
||||
:meth:`~BaseCommand.validate` from :meth:`~BaseCommand.handle`.
|
||||
potential problems prior to executing the command. Default value is ``True``.
|
||||
|
||||
.. attribute:: BaseCommand.leave_locale_alone
|
||||
|
||||
|
|
|
@ -1,11 +0,0 @@
|
|||
from django.core.management.base import BaseCommand
|
||||
|
||||
|
||||
class InvalidCommand(BaseCommand):
|
||||
help = ("Test raising an error if both requires_system_checks "
|
||||
"and requires_model_validation are defined.")
|
||||
requires_system_checks = True
|
||||
requires_model_validation = True
|
||||
|
||||
def handle(self, **options):
|
||||
pass
|
|
@ -1662,11 +1662,6 @@ class CommandTypes(AdminScriptTestCase):
|
|||
self.assertOutput(out, "EXECUTE:LabelCommand label=testlabel, options=[('no_color', False), ('pythonpath', None), ('settings', None), ('traceback', False), ('verbosity', 1)]")
|
||||
self.assertOutput(out, "EXECUTE:LabelCommand label=anotherlabel, options=[('no_color', False), ('pythonpath', None), ('settings', None), ('traceback', False), ('verbosity', 1)]")
|
||||
|
||||
@ignore_warnings(category=RemovedInDjango19Warning)
|
||||
def test_requires_model_validation_and_requires_system_checks_both_defined(self):
|
||||
from .management.commands.validation_command import InvalidCommand
|
||||
self.assertRaises(ImproperlyConfigured, InvalidCommand)
|
||||
|
||||
|
||||
class Discovery(TestCase):
|
||||
|
||||
|
|
Loading…
Reference in New Issue