Происходит ли преобразование типов парсера внутри тестов django?

Я определил пользовательский анализатор аргументов

from dateutil.relativedelta import relativedelta

def custom_parser(value):
    # Do some actions with value
    return relativedelta(...)

Я использую это в команде управления как

parser.add_argument(
            "--tes",
            help=("blablaaa"),
            type=custom_parser,
            required=False,
            default='15s',
        )

Внутри handler, tes правильно преобразуется, если я вызываю команду управления из терминала напрямую.

def handle(self, *_args, **options):
    tes = options['tes'] 

При непосредственном выполнении команды правильно преобразуется в relativedelta. Однако, если я запускаю ее с помощью call_command('mycommand', tes='20s') options['tes'] всегда является строкой. Почему она не преобразуется? Не могу найти в кодовой базе что-то, что могло бы это объяснить.

Вернуться на верх