﻿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
29019	createsuperuser crashes if a ManyToManyField is in REQUIRED_FIELDS	James Kirsop	Hasan Ramezani	"I've defined a custom user model with a ManyToMany field.

When running `manage.py createsuperuser` I receive the following error after entering the user's email address:

{{{
Traceback (most recent call last):
  File ""./manage.py"", line 22, in <module>
    execute_from_command_line(sys.argv)
  File ""/Users/jkirsop/Development/artemis/venv/lib/python3.6/site-packages/django/core/management/__init__.py"", line 371, in execute_from_command_line
    utility.execute()
  File ""/Users/jkirsop/Development/artemis/venv/lib/python3.6/site-packages/django/core/management/__init__.py"", line 365, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File ""/Users/jkirsop/Development/artemis/venv/lib/python3.6/site-packages/django/core/management/base.py"", line 288, in run_from_argv
    self.execute(*args, **cmd_options)
  File ""/Users/jkirsop/Development/artemis/venv/lib/python3.6/site-packages/django/contrib/auth/management/commands/createsuperuser.py"", line 59, in execute
    return super().execute(*args, **options)
  File ""/Users/jkirsop/Development/artemis/venv/lib/python3.6/site-packages/django/core/management/base.py"", line 335, in execute
    output = self.handle(*args, **options)
  File ""/Users/jkirsop/Development/artemis/venv/lib/python3.6/site-packages/django/contrib/auth/management/commands/createsuperuser.py"", line 133, in handle
    ) if field.remote_field else '',
AttributeError: 'ManyToManyRel' object has no attribute 'field_name'
}}}

**Models**
My custom user model is defined as such (relevant pieces only included):
{{{
class OrgUser(AbstractBaseUser, PermissionsMixin):
	email = models.EmailField(
		verbose_name='email address',
		max_length=255,
		unique=True,
	)
	orgs = models.ManyToManyField(Organisation)
	USERNAME_FIELD = 'email'
	REQUIRED_FIELDS = ['orgs']
        objects = OrgUserManager()
}}}

and Organisations
{{{
class Organisation(models.Model):
	name = models.CharField(max_length=60)

	def __str__(self):
		return self.name
}}}

It seems that if I remove the need for the Orgs to be a `REQUIRED_FIELD` the issue goes away. However, it's central to my project and needs to be defined on every user.

Happy to update the ticket with any other code snippets if required."	Bug	closed	contrib.auth	dev	Normal	fixed	user custom		Accepted	1	0	0	0	0	0
