Skip to content

Command

Overview

The base class from which all management commands ultimately derive.

Use this class if you want access to all of the mechanisms which parse the command-line arguments and work out what code to call in response; if you don't need to change any of that behavior, consider using one of the subclasses defined in this file.

If you are interested in overriding/customizing various aspects of the command-parsing and -execution behavior, the normal flow works as follows:

  1. django-admin or manage.py loads the command class and calls its run_from_argv() method.

  2. The run_from_argv() method calls create_parser() to get an ArgumentParser for the arguments, parses them, performs any environment changes requested by options like pythonpath, and then calls the execute() method, passing the parsed arguments.

  3. The execute() method attempts to carry out the command by calling the handle() method with the parsed arguments; any output produced by handle() will be printed to standard output and, if the command is intended to produce a block of SQL statements, will be wrapped in BEGIN and COMMIT.

  4. If handle() or execute() raised any exception (e.g. CommandError), run_from_argv() will instead print an error message to stderr.

Thus, the handle() method is typically the starting point for subclasses; many built-in commands and command types either place all of their logic in handle(), or perform some additional parsing work in handle() and then delegate from it to more specialized methods as needed.

Several attributes affect behavior at various steps along the way:

help A short description of the command, which will be printed in help messages.

output_transaction A boolean indicating whether the command outputs SQL statements; if True, the output will automatically be wrapped with BEGIN; and COMMIT;. Default value is False.

requires_migrations_checks A boolean; if True, the command prints a warning if the set of migrations on disk don't match the migrations in the database.

requires_system_checks A list or tuple of tags, e.g. [Tags.staticfiles, Tags.models]. System checks registered in the chosen tags will be checked for errors prior to executing the command. The value 'all' can be used to specify that all system checks should be performed. Default value is 'all'.

To validate an individual application's models
rather than all applications' models, call
``self.check(app_configs)`` from ``handle()``, where ``app_configs``
is the list of application's configuration provided by the
app registry.

stealth_options A tuple of any options the command uses which aren't defined by the argument parser.

_find_workflow_migration_files

Signature

_find_workflow_migration_files(self, selected_apps)

Parameters

NameTypeRequiredDescription
selfyes
selected_appsyes

Source

server/vueda/workflow/management/commands/updateworkflowmigrations.py:54

_is_import_instead

Signature

_is_import_instead(lines)

Parameters

NameTypeRequiredDescription
linesyes

Source

server/vueda/workflow/management/commands/updateworkflowmigrations.py:83

_update_migration_file

Signature

_update_migration_file(self, filepath)

Parameters

NameTypeRequiredDescription
selfyes
filepathyes

Source

server/vueda/workflow/management/commands/updateworkflowmigrations.py:92

add_arguments

Entry point for subclassed commands to add custom arguments.

Signature

add_arguments(self, parser)

Parameters

NameTypeRequiredDescription
selfyes
parseryes

Source

server/vueda/workflow/management/commands/updateworkflowmigrations.py:41

handle

The actual logic of the command. Subclasses must implement this method.

Signature

handle(self, app_labels, options)

Parameters

NameTypeRequiredDescription
selfyes
app_labelsyes
optionsyes

Source

server/vueda/workflow/management/commands/updateworkflowmigrations.py:157

help

Source

server/vueda/workflow/management/commands/updateworkflowmigrations.py:32

Documents matching: server v3.0.0a1.post1client v3.0.0-alpha.2