﻿id	summary	reporter	owner	description	type	status	component	version	severity	resolution	keywords	cc	stage	has_patch	needs_docs	needs_tests	needs_better_patch	easy	ui_ux
33205	call_command() fails when required mutually exclusive arguments use the same `dest`.	Peter Law	Hasan Ramezani	"I have a command which accepts two different ways to specify a time -- either as a timestamp or as a duration in the future:
{{{
pause (--for duration | --until time)
}}}

{{{#!python
class Command(BaseCommand):
    def add_arguments(self, parser) -> None:
        group = parser.add_mutually_exclusive_group(required=True)
        group.add_argument('--for', dest='until', action='store', type=parse_duration_to_time)
        group.add_argument('--until', action='store', type=parse_time)

    def handle(self, until: datetime, **_):
        pass
}}}


This works fine on the command line, however there doesn't seem to be a way to make this work through `call_command`. Specifically there are two sides to the failure:
- while I can provide an `until` value (as a string, which is processed by `parse_time`) there is no mechanism to pass a `for` value if that's how I want to spell the input
- the `for` value is always required and attempts to parse the (string) `until` value passed, which then errors since the input formats are very different

"	Bug	closed	Core (Management commands)	3.2	Normal	fixed		Hasan Ramezani	Ready for checkin	1	0	0	0	0	0
