﻿id	summary	reporter	owner	description	type	status	component	version	severity	resolution	keywords	cc	stage	has_patch	needs_docs	needs_tests	needs_better_patch	easy	ui_ux
34542	Required fields allowed to be blank are not accepted non-interactively using createsuperuser	Lantizia	Mateusz Więckowski	"I've only encountered Django once before (installing mailman3), but this time I was trying to install NetBox and I noticed this sentence in their documentation...

""Specifying an email address for the user is not required""  (search for that line in the URL below for better context)

[https://docs.netbox.dev/en/stable/installation/3-netbox/]

According to these lines... [https://github.com/django/django/blob/main/django/contrib/auth/models.py#L378] and [https://github.com/django/django/blob/main/django/contrib/auth/models.py#L358]

The 'email' field is marked as required, but is also marked in a way to allow it to be empty.

This section of the code validates required fields when createsuperuser is called **interactively**... [https://github.com/django/django/blob/main/django/contrib/auth/management/commands/createsuperuser.py#L143]

This section of the code validates required fields when createsuperuser is called **non-interactively**... [https://github.com/django/django/blob/main/django/contrib/auth/management/commands/createsuperuser.py#L219]

Although required fields are enforced, the **non-interactive** code doesn't allow for those to be blank, where blank required fields are permitted.  I've tried to set a field like 'email' to blank **non-interactively** but nothing works, for example...

a) just don't set the email field either through an argument or an environment variable... it'll complain it is needed
b) set the email field via a variable as just 'DJANGO_SUPERUSER_EMAIL=' (i.e. setting the variable to null)... it still complains it is needed
c) set the email field via an argument of --email '' (i.e. double quotes) or --email """" (i.e. double single quotes) or even --email \  (i.e. passing a single space)... it still complains it is needed

Hope this makes sense :)"	Bug	closed	contrib.auth	dev	Normal	fixed	auth createsuperuser superuser email		Ready for checkin	1	0	0	0	1	0
