Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Please correct the errors below.
- class User(AbstractBaseUser, PermissionsMixin):
- email = models.EmailField(
- verbose_name="email_address",
- max_length=255,
- unique=True,
- )
- name = models.CharField(max_length=255)
- is_staff = models.BooleanField(
- default=False,
- )
- is_active = models.BooleanField(
- default=True,
- )
- objects = UserManager()
- USERNAME_FIELD = 'email'
- REQUIRED_FIELDS = []
- def get_full_name(self):
- return self.name
- def __str__(self):
- return self.email
- class UserManager(BaseUserManager):
- def _create_user(self, email, password, **kwargs):
- if not email:
- raise ValueError("Email is required")
- email = self.normalize_email(email)
- user = self.model(email=email, **kwargs)
- user.set_password(password)
- user.save()
- return user
- def create_user(self, email, password=None, **extra_fields):
- """Create and save a regular User with the given email and password."""
- extra_fields.setdefault('is_staff', False)
- extra_fields.setdefault('is_superuser', False)
- return self._create_user(email, password, **extra_fields)
- def create_superuser(self, email, password, **kwargs):
- kwargs.setdefault('is_staff', True)
- kwargs.setdefault('is_superuser', True)
- kwargs.setdefault('is_active', True)
- if kwargs.get('is_staff') is not True:
- raise ValueError("Superuser must have is_staff True")
- if kwargs.get('is_superuser') is not True:
- raise ValueError("Superuser must have is_superuser True")
- return self._create_user(email, password, **kwargs)
- class CustomUserAdmin(BaseUserAdmin):
- add_form = CustomUserCreationForm
- form = CustomUserCreationForm
- list_display = ('id', 'email', 'is_superuser')
- list_filter = ('is_superuser',)
- fieldsets = (
- (None, {'fields': ('name', 'email', 'password')}),
- ('Permissions', {'fields': ('is_superuser', 'is_staff')}),
- )
- add_fieldsets = fieldsets
- search_fields = ('name', 'email')
- ordering = ('name', 'email')
- filter_horizontal = ()
Add Comment
Please, Sign In to add comment