mirror of
https://github.com/django/django.git
synced 2025-01-06 08:25:50 +00:00
76c526f80e
Using `BaseCommand.options_list` makes Django use the legacy optparse parser, which does not set the verbosity attribute correctly. Now the verbosity argument is always cast to int. Regression in8568638
(#19973). Initial report and patch from blueyed. Backport ofa0047c6242
from master
21 lines
668 B
Python
21 lines
668 B
Python
from optparse import make_option
|
|
|
|
from django.core.management.base import BaseCommand
|
|
|
|
|
|
class Command(BaseCommand):
|
|
help = "Test optparse compatibility."
|
|
args = ''
|
|
|
|
option_list = BaseCommand.option_list + (
|
|
make_option("-s", "--style", default="Rock'n'Roll"),
|
|
make_option("-x", "--example")
|
|
)
|
|
|
|
def handle(self, *args, **options):
|
|
options["example"]
|
|
# BaseCommand default option is available
|
|
options['verbosity']
|
|
assert isinstance(options['verbosity'], int), "verbosity option is not int, but %s" % type(options['verbosity'])
|
|
self.stdout.write("All right, let's dance %s." % options["style"])
|