summaryrefslogtreecommitdiff
path: root/django
diff options
context:
space:
mode:
authorAdam Johnson <me@adamj.eu>2023-01-15 09:19:52 +0000
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2023-02-03 06:56:57 +0100
commit017fa23d3b0aee9142f531c2a0002fc86c82a54c (patch)
tree456483d46411d866cf5cd1df79f80a80eabff8a7 /django
parent1250483ebf73f7a82ff820b94092c63ce4238264 (diff)
Fixed #34259 -- Passed called_from_command_line to command subparsers.
Diffstat (limited to 'django')
-rw-r--r--django/core/management/base.py10
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):
"""