summaryrefslogtreecommitdiff
path: root/django
diff options
context:
space:
mode:
authorChristophe Henry <contact2@c-henry.fr>2021-10-08 15:33:09 +0200
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2021-10-12 07:43:17 +0200
commitb55df4c74a725a1df4efbce8163f995cb0bcd875 (patch)
tree4ec57146b2f8f612d906f4fee5bba9048c71ff5a /django
parent224fa0bc7de05f3f269e7fd41b66154b82a2e87f (diff)
[4.0.x] Refs #21755 -- Fixed createsuperuser crash for required foreign keys passed in options in interactive mode.
Co-authored-by: Mariusz Felisiak <felisiak.mariusz@gmail.com> Backport of 4ff500f2948bfc332b3f4159021cad06e91943d3 from main
Diffstat (limited to 'django')
-rw-r--r--django/contrib/auth/management/commands/createsuperuser.py8
1 files changed, 4 insertions, 4 deletions
diff --git a/django/contrib/auth/management/commands/createsuperuser.py b/django/contrib/auth/management/commands/createsuperuser.py
index 6ab0e5a3b9..4d66e1cca1 100644
--- a/django/contrib/auth/management/commands/createsuperuser.py
+++ b/django/contrib/auth/management/commands/createsuperuser.py
@@ -134,12 +134,12 @@ class Command(BaseCommand):
self.stderr.write('Error: This field cannot be blank.')
continue
user_data[field_name] = [pk.strip() for pk in input_value.split(',')]
- # Wrap any foreign keys in fake model instances
- if field.many_to_one:
- fake_user_data[field_name] = field.remote_field.model(input_value)
- if not field.many_to_many and field_name not in fake_user_data:
+ if not field.many_to_many:
fake_user_data[field_name] = user_data[field_name]
+ # Wrap any foreign keys in fake model instances.
+ if field.many_to_one:
+ fake_user_data[field_name] = field.remote_field.model(user_data[field_name])
# Prompt for a password if the model has one.
while PASSWORD_FIELD in user_data and user_data[PASSWORD_FIELD] is None: