Removed support for AppCommand.handle_app() per deprecation timeline.
This commit is contained in:
parent
f0a1df0b01
commit
00a11994a5
|
@ -572,26 +572,9 @@ class AppCommand(BaseCommand):
|
|||
Perform the command's actions for app_config, an AppConfig instance
|
||||
corresponding to an application label given on the command line.
|
||||
"""
|
||||
try:
|
||||
# During the deprecation path, keep delegating to handle_app if
|
||||
# handle_app_config isn't implemented in a subclass.
|
||||
handle_app = self.handle_app
|
||||
except AttributeError:
|
||||
# Keep only this exception when the deprecation completes.
|
||||
raise NotImplementedError(
|
||||
"Subclasses of AppCommand must provide"
|
||||
"a handle_app_config() method.")
|
||||
else:
|
||||
warnings.warn(
|
||||
"AppCommand.handle_app() is superseded by "
|
||||
"AppCommand.handle_app_config().",
|
||||
RemovedInDjango19Warning, stacklevel=2)
|
||||
if app_config.models_module is None:
|
||||
raise CommandError(
|
||||
"AppCommand cannot handle app '%s' in legacy mode "
|
||||
"because it doesn't have a models module."
|
||||
% app_config.label)
|
||||
return handle_app(app_config.models_module, **options)
|
||||
raise NotImplementedError(
|
||||
"Subclasses of AppCommand must provide"
|
||||
"a handle_app_config() method.")
|
||||
|
||||
|
||||
class LabelCommand(BaseCommand):
|
||||
|
|
|
@ -406,22 +406,6 @@ each application.
|
|||
:class:`~django.apps.AppConfig` instance corresponding to an application
|
||||
label given on the command line.
|
||||
|
||||
.. versionchanged:: 1.7
|
||||
|
||||
Previously, :class:`AppCommand` subclasses had to implement
|
||||
``handle_app(app, **options)`` where ``app`` was a models module. The new
|
||||
API makes it possible to handle applications without a models module. The
|
||||
fastest way to migrate is as follows::
|
||||
|
||||
def handle_app_config(app_config, **options):
|
||||
if app_config.models_module is None:
|
||||
return # Or raise an exception.
|
||||
app = app_config.models_module
|
||||
# Copy the implementation of handle_app(app_config, **options) here.
|
||||
|
||||
However, you may be able to simplify the implementation by using directly
|
||||
the attributes of ``app_config``.
|
||||
|
||||
.. class:: LabelCommand
|
||||
|
||||
A management command which takes one or more arbitrary arguments
|
||||
|
|
Loading…
Reference in New Issue