diff options
| author | Christophe Henry <contact2@c-henry.fr> | 2021-10-07 12:00:47 +0200 |
|---|---|---|
| committer | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2021-10-07 12:37:16 +0200 |
| commit | df2d2bc95c451c6366fd522a5a1e6ed84f459f31 (patch) | |
| tree | 1bc63bab06efb8b22aa372e8e7395c162d849ff7 /django | |
| parent | 9be36f8044c3bdfe5d1819d4b3b62bee64a039e3 (diff) | |
Fixed #33151 -- Fixed createsuperuser crash for many-to-many required fields in non-interactive mode.
Diffstat (limited to 'django')
| -rw-r--r-- | django/contrib/auth/management/commands/createsuperuser.py | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/django/contrib/auth/management/commands/createsuperuser.py b/django/contrib/auth/management/commands/createsuperuser.py index 3eb8abff06..61b4061252 100644 --- a/django/contrib/auth/management/commands/createsuperuser.py +++ b/django/contrib/auth/management/commands/createsuperuser.py @@ -185,6 +185,10 @@ class Command(BaseCommand): raise CommandError('You must use --%s with --noinput.' % field_name) field = self.UserModel._meta.get_field(field_name) user_data[field_name] = field.clean(value, None) + if field.many_to_many and isinstance(user_data[field_name], str): + user_data[field_name] = [ + pk.strip() for pk in user_data[field_name].split(',') + ] self.UserModel._default_manager.db_manager(database).create_superuser(**user_data) if options['verbosity'] >= 1: |
