Fixed #17799 - Documented that the execute() method of a management command is not suitable for calling the command from code; call_command should be used instead. Thanks kacah222 for the report and claudep for the patch.

git-svn-id: http://code.djangoproject.com/svn/django/trunk@17629 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
Carl Meyer 2012-03-02 17:13:53 +00:00
parent fcaf8eae14
commit 3ed0b6ed64
2 changed files with 7 additions and 0 deletions

View File

@ -243,6 +243,11 @@ the :meth:`~BaseCommand.handle` method must be implemented.
:class:`CommandError`, intercept it and print it sensibly to
stderr.
.. admonition:: Calling a management command in your code
``execute()`` should not be called directly from your code to execute a
command. Use :ref:`call_command <call-command>` instead.
.. method:: BaseCommand.handle(*args, **options)
The actual logic of the command. Subclasses must implement this method.

View File

@ -1490,6 +1490,8 @@ See :doc:`/howto/custom-management-commands` for how to add customized actions.
Running management commands from your code
==========================================
.. _call-command:
.. function:: django.core.management.call_command(name, *args, **options)
To call a management command from code use ``call_command``.