diff options
| author | jkrzy <j@jkrzy.com> | 2017-08-18 13:52:06 -0700 |
|---|---|---|
| committer | Tim Graham <timograham@gmail.com> | 2017-09-02 16:39:07 -0400 |
| commit | f9db06cf0812ee017b34bc786e1bf96e40f2327b (patch) | |
| tree | d9edf227f5e5ee4adfa4e71b2980567611a86bf0 | |
| parent | e921e983876b62f5b8f405e0b8afcdcc1f53d8bb (diff) | |
[1.11.x] Fixed #28367 -- Doc'd how to override management commands.
Backport of 48d92fea672928b4571ddaab03667e74671391c0 from master
| -rw-r--r-- | docs/howto/custom-management-commands.txt | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/docs/howto/custom-management-commands.txt b/docs/howto/custom-management-commands.txt index e6482a0da8..5a091f835e 100644 --- a/docs/howto/custom-management-commands.txt +++ b/docs/howto/custom-management-commands.txt @@ -186,6 +186,24 @@ Testing Information on how to test custom management commands can be found in the :ref:`testing docs <topics-testing-management-commands>`. +Overriding commands +=================== + +Django registers the built-in commands and then searches for commands in +:setting:`INSTALLED_APPS` in reverse. During the search, if a command name +duplicates an already registered command, the newly discovered command +overrides the first. + +In other words, to override a command, the new command must have the same name +and its app must be before the overridden command's app in +:setting:`INSTALLED_APPS`. + +Management commands from third-party apps that have been unintentionally +overridden can be made available under a new name by creating a new command in +one of your project's apps (ordered before the third-party app in +:setting:`INSTALLED_APPS`) which imports the ``Command`` of the overridden +command. + Command objects =============== |
