summaryrefslogtreecommitdiff
path: root/django
diff options
context:
space:
mode:
authorChristophe Henry <contact2@c-henry.fr>2021-10-07 12:00:47 +0200
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2021-10-07 12:37:16 +0200
commitdf2d2bc95c451c6366fd522a5a1e6ed84f459f31 (patch)
tree1bc63bab06efb8b22aa372e8e7395c162d849ff7 /django
parent9be36f8044c3bdfe5d1819d4b3b62bee64a039e3 (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.py4
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: