Guest User

Untitled

a guest
Jan 15th, 2018
633
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.93 KB | None | 0 0
  1. class User(AbstractUser):
  2.  
  3. REQUIRED_FIELDS = []
  4. USERNAME_FIELD = 'email'
  5. email = models.EmailField(
  6. _('email address'),
  7. max_length=150,
  8. unique=True,
  9. help_text=_('Required. 150 characters or fewer. Must be a valid email address.'),
  10. error_messages={
  11. 'unique':_("A user with that email address already exists."),
  12. },
  13. )
  14.  
  15. # custom user model
  16. AUTH_USER_MODEL = 'workoutcal.User'
  17.  
  18. (workout) n155-p250:workout sahandzarrinkoub$ ./manage.py createsuperuser
  19. Email address: sahandz@kth.se
  20. Password:
  21. Password (again):
  22. Traceback (most recent call last):
  23. File "./manage.py", line 22, in <module>
  24. execute_from_command_line(sys.argv)
  25. File "/Users/sahandzarrinkoub/Documents/Programming/Web/Django/workout/lib/python3.6/site-packages/django/core/management/__init__.py", line 371, in execute_from_command_line
  26. utility.execute()
  27. File "/Users/sahandzarrinkoub/Documents/Programming/Web/Django/workout/lib/python3.6/site-packages/django/core/management/__init__.py", line 365, in execute
  28. self.fetch_command(subcommand).run_from_argv(self.argv)
  29. File "/Users/sahandzarrinkoub/Documents/Programming/Web/Django/workout/lib/python3.6/site-packages/django/core/management/base.py", line 288, in run_from_argv
  30. self.execute(*args, **cmd_options)
  31. File "/Users/sahandzarrinkoub/Documents/Programming/Web/Django/workout/lib/python3.6/site-packages/django/contrib/auth/management/commands/createsuperuser.py", line 59, in execute
  32. return super().execute(*args, **options)
  33. File "/Users/sahandzarrinkoub/Documents/Programming/Web/Django/workout/lib/python3.6/site-packages/django/core/management/base.py", line 335, in execute
  34. output = self.handle(*args, **options)
  35. File "/Users/sahandzarrinkoub/Documents/Programming/Web/Django/workout/lib/python3.6/site-packages/django/contrib/auth/management/commands/createsuperuser.py", line 179, in handle
  36. self.UserModel._default_manager.db_manager(database).create_superuser(**user_data)
  37. TypeError: create_superuser() missing 1 required positional argument: 'username'
  38.  
  39. class CustomUserManager(BaseUserManager):
  40. def _create_user(self, email, password, is_staff, is_superuser, **extra_fields):
  41. now = timezone.now()
  42. if not email:
  43. raise ValueError('email must be set')
  44. email = self.normalize_email(email)
  45. user = User(email = email, is_staff=is_staff,
  46. is_superuser=is_superuser, date_joined=now,
  47. **extra_fields)
  48. user.set_password(password)
  49. user.save()
  50. return user
  51.  
  52. def create_user(self, email, password, **extra_fields):
  53. return self._create_user(email, password, False, False, **extra_fields)
  54.  
  55. def create_superuser(self, email, password, **extra_fields):
  56. return self._create_user(email, password, True, True, **extra_fields)
  57.  
  58. class User(AbstractUser): # in your custom user
  59. #...
  60. objects = CustomUserManager()
  61. #...
Add Comment
Please, Sign In to add comment