diff options
| author | Adam Johnson <me@adamj.eu> | 2023-01-15 09:19:52 +0000 |
|---|---|---|
| committer | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2023-02-03 06:56:57 +0100 |
| commit | 017fa23d3b0aee9142f531c2a0002fc86c82a54c (patch) | |
| tree | 456483d46411d866cf5cd1df79f80a80eabff8a7 /django | |
| parent | 1250483ebf73f7a82ff820b94092c63ce4238264 (diff) | |
Fixed #34259 -- Passed called_from_command_line to command subparsers.
Diffstat (limited to 'django')
| -rw-r--r-- | django/core/management/base.py | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/django/core/management/base.py b/django/core/management/base.py index abc6f79a15..631c761c00 100644 --- a/django/core/management/base.py +++ b/django/core/management/base.py @@ -6,6 +6,7 @@ import argparse import os import sys from argparse import ArgumentParser, HelpFormatter +from functools import partial from io import TextIOBase import django @@ -71,6 +72,15 @@ class CommandParser(ArgumentParser): else: raise CommandError("Error: %s" % message) + def add_subparsers(self, **kwargs): + parser_class = kwargs.get("parser_class", type(self)) + if issubclass(parser_class, CommandParser): + kwargs["parser_class"] = partial( + parser_class, + called_from_command_line=self.called_from_command_line, + ) + return super().add_subparsers(**kwargs) + def handle_default_options(options): """ |
