Here's a summary of what it does currently.
In **interactive** mode:
- checks if stdin is a TTY (obviously),
- checks if provided user already exists (before creating it),
- provides "fake_user_data" for the case where User model has FKs to other
models,
- validates provided password.
In **non-interactive** mode:
- cleans every required field and a {{{USERNAME_FIELD}}} (fix for
interactive mode is already in #28016),
- doesn't allow to provide password (there's #27801 for this case - I
already did some work on that ticket).
I think it would be good to combine the logic for both modes before
tackling #27801. That would also make #28016 obsolete.
--
Ticket URL: <https://code.djangoproject.com/ticket/28044>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.
* owner: nobody => Sławek Ehlert
--
Ticket URL: <https://code.djangoproject.com/ticket/28044#comment:1>
* needs_docs: 0 => 1
* type: Uncategorized => Cleanup/optimization
* stage: Unreviewed => Accepted
--
Ticket URL: <https://code.djangoproject.com/ticket/28044#comment:2>
* owner: Sławek Ehlert => DoHyun Kim
--
Ticket URL: <https://code.djangoproject.com/ticket/28044#comment:3>
* needs_better_patch: 0 => 1
* has_patch: 0 => 1
* needs_docs: 1 => 0
Comment:
[https://github.com/django/django/pull/8908 PR] (needs some improvements)
--
Ticket URL: <https://code.djangoproject.com/ticket/28044#comment:4>
* status: assigned => closed
* resolution: => fixed
Comment:
In [changeset:"f1f4aeb22e7bc9b504f69f7cb111ac9bdedb5f1e" f1f4aeb2]:
{{{
#!CommitTicketReference repository=""
revision="f1f4aeb22e7bc9b504f69f7cb111ac9bdedb5f1e"
Fixed #28044 -- Unified the logic for createsuperuser's interactive and
--noinput modes.
}}}
--
Ticket URL: <https://code.djangoproject.com/ticket/28044#comment:5>