Skip to content

Commit c0d10af

Browse files
committed
Make admin_user work for custom user models without an email field
Fixes #439.
1 parent de7e2d7 commit c0d10af

File tree

1 file changed

+6
-7
lines changed

1 file changed

+6
-7
lines changed

pytest_django/fixtures.py

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -293,13 +293,12 @@ def admin_user(db, django_user_model, django_username_field):
293293
# so we can assume so as well.
294294
user = UserModel._default_manager.get_by_natural_key(username)
295295
except UserModel.DoesNotExist:
296-
user = UserModel._default_manager.create_superuser(
297-
**{
298-
"email": "admin@example.com",
299-
"password": "password",
300-
username_field: username,
301-
}
302-
)
296+
user_data = {}
297+
if "email" in UserModel.REQUIRED_FIELDS:
298+
user_data["email"] = "admin@example.com"
299+
user_data["password"] = "password"
300+
user_data[username_field] = username
301+
user = UserModel._default_manager.create_superuser(**user_data)
303302
return user
304303

305304

0 commit comments

Comments
 (0)