diff --git a/django/core/management/base.py b/django/core/management/base.py index 10d1b728fe..6bdfe31ac5 100644 --- a/django/core/management/base.py +++ b/django/core/management/base.py @@ -7,14 +7,12 @@ from __future__ import unicode_literals import os import sys -import warnings from argparse import ArgumentParser import django from django.core import checks from django.core.management.color import color_style, no_style from django.db import connections -from django.utils.deprecation import RemovedInDjango110Warning from django.utils.encoding import force_str @@ -500,35 +498,3 @@ class LabelCommand(BaseCommand): string as given on the command line. """ raise NotImplementedError('subclasses of LabelCommand must provide a handle_label() method') - - -class NoArgsCommand(BaseCommand): - """ - A command which takes no arguments on the command line. - - Rather than implementing ``handle()``, subclasses must implement - ``handle_noargs()``; ``handle()`` itself is overridden to ensure - no arguments are passed to the command. - - Attempting to pass arguments will raise ``CommandError``. - """ - args = '' - - def __init__(self): - warnings.warn( - "NoArgsCommand class is deprecated and will be removed in Django 1.10. " - "Use BaseCommand instead, which takes no arguments by default.", - RemovedInDjango110Warning - ) - super(NoArgsCommand, self).__init__() - - def handle(self, *args, **options): - if args: - raise CommandError("Command doesn't accept any arguments") - return self.handle_noargs(**options) - - def handle_noargs(self, **options): - """ - Perform this command's actions. - """ - raise NotImplementedError('subclasses of NoArgsCommand must provide a handle_noargs() method') diff --git a/docs/howto/custom-management-commands.txt b/docs/howto/custom-management-commands.txt index cc7653dd8e..ac89dd0ded 100644 --- a/docs/howto/custom-management-commands.txt +++ b/docs/howto/custom-management-commands.txt @@ -352,22 +352,6 @@ Rather than implementing :meth:`~BaseCommand.handle`, subclasses must implement Perform the command's actions for ``label``, which will be the string as given on the command line. -.. class:: NoArgsCommand - -.. deprecated:: 1.8 - - Use :class:`BaseCommand` instead, which takes no arguments by default. - -A command which takes no arguments on the command line. - -Rather than implementing :meth:`~BaseCommand.handle`, subclasses must implement -:meth:`~NoArgsCommand.handle_noargs`; :meth:`~BaseCommand.handle` itself is -overridden to ensure no arguments are passed to the command. - -.. method:: NoArgsCommand.handle_noargs(**options) - - Perform this command's actions - .. _ref-command-exceptions: Command exceptions diff --git a/docs/internals/deprecation.txt b/docs/internals/deprecation.txt index 99e293d9a9..3bc858742b 100644 --- a/docs/internals/deprecation.txt +++ b/docs/internals/deprecation.txt @@ -130,7 +130,7 @@ details on these changes. * Support for :py:mod:`optparse` will be dropped for custom management commands (replaced by :py:mod:`argparse`). -* The class :class:`~django.core.management.NoArgsCommand` will be removed. Use +* The class ``django.core.management.NoArgsCommand`` will be removed. Use :class:`~django.core.management.BaseCommand` instead, which takes no arguments by default. diff --git a/docs/releases/1.8.txt b/docs/releases/1.8.txt index e6b606505f..da31963876 100644 --- a/docs/releases/1.8.txt +++ b/docs/releases/1.8.txt @@ -1384,9 +1384,9 @@ arguments through ``argparse.add_argument()``. See ``django.core.management.NoArgsCommand`` ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -The class :class:`~django.core.management.NoArgsCommand` is now deprecated and -will be removed in Django 1.10. Use :class:`~django.core.management.BaseCommand` -instead, which takes no arguments by default. +The class ``NoArgsCommand`` is now deprecated and will be removed in Django +1.10. Use :class:`~django.core.management.BaseCommand` instead, which takes no +arguments by default. Listing all migrations in a project ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~