class User(AbstractUser, BaseModel): create_user = models.ForeignKey( 'self', verbose_name='创建人', related_name='%(app_label)s_%(class)s_create_user', on_delete=models.SET_NULL, null=True, blank=True, default=None) update_user = models.ForeignKey( 'self', verbose_name='修改人', related_name='%(app_label)s_%(class)s_update_user', on_delete=models.SET_NULL, null=True, blank=True, default=None) objects = UserManager() class Meta: verbose_name = "用户模型" verbose_name_plural = verbose_name def save(self, force_insert=False, force_update=False, using=None, update_fields=None): if global_request != None and global_request.user.is_authenticated: if self._get_pk_val() is None and self._state.adding: self.create_user = global_request.user else: self.update_user = global_request.user return super().save(force_insert=force_insert, force_update=force_update, using=using, update_fields=update_fields)
class User(AbstractBaseUser, PermissionsMixin): username = models.CharField( 'Apelido / Usuário', max_length=30, unique=True, validators=[ validators.RegexValidator( re.compile('^[\w.@+-]+$'), 'Informe um nome de usuário válido. ' 'Este valor deve conter apenas letras, números ' 'e os caracteres: @/./+/-/_ .' , 'invalid' ) ], help_text='Um nome curto que será usado para identificá-lo de forma única na plataforma' ) name = models.CharField('Nome', max_length=100, blank=True) email = models.EmailField('E-mail', unique=True) is_staff = models.BooleanField('Equipe', default=False) #boolean is_active = models.BooleanField('Ativo', default=True) #boolean date_joined = models.DateTimeField('Data de Entrada', auto_now_add=True) USERNAME_FIELD = 'username' REQUIRED_FIELDS = ['email'] #Campo requerido na criação de super Usuários objects = UserManager() class Meta: verbose_name = 'Usuário' verbose_name_plural = 'Usuários' def __str__(self): return self.name or self.username def get_full_name(self): return str(self) def get_short_name(self): return str(self).split(" ")[0]
class User(AbstractBaseUser, PermissionsMixin): email = models.EmailField( ('email address'), unique=True, error_messages={ 'unique': ("A user with that email already exists."), }) username = models.CharField( ('username'), max_length=100, unique=True, help_text=('Required. 30 characters or fewer. Letters, digits and ' '@/./+/-/_ only.'), validators=[ validators.RegexValidator( r'^[\w.@+-]+$', ('Enter a valid username. ' 'This value may contain only letters, numbers ' 'and @/./+/-/_ characters.'), 'invalid'), ], error_messages={ 'unique': ("A user with that username already exists."), }) role = models.CharField(max_length=10, blank=True) partner_name = models.CharField(max_length=100, blank=True, null = True) login_method = models.CharField(max_length = 255, blank = True, null = True) start_date = models.DateField(blank = True, null = True) facebook_id = models.CharField(max_length=200, unique=True, blank=True, null=True) objects = UserManager() USERNAME_FIELD = 'username' REQUIRED_FIELDS = ['email'] class Meta: managed = True abstract = False db_table = 'auth_user'
class User(AbstractUser): first_name = models.CharField(max_length=255, null=False) last_name = models.CharField(max_length=255, null=False) mobile_number = models.CharField(max_length=12, blank=True) email = models.EmailField(unique=True, blank=True, null=True) username = models.CharField(unique=True, max_length=255, null=True, blank=True) created_datetime = models.DateTimeField(auto_now_add=True) address = models.TextField(max_length=2500, blank=False, null=False) city = models.CharField(max_length=100, blank=True) state = models.CharField(max_length=100, blank=True) zipcode = models.IntegerField(blank=True) objects = UserManager() class Meta: db_table = "user" def __str__(self): return "{} - {} - {}- {} - {} - {} -{} - {} - {} - {} ".format( self.first_name, self.last_name, self.mobile_number, self.email, self.username, self.address, self.city, self.state, self.zipcode, self.created_datetime)
class User(AbstractBaseUser, PermissionsMixin): username = models.CharField( 'Username', max_length=30, unique=True, validators=[ validators.RegexValidator(re.compile('^[\w.@+-]+$'), "usuario pode contem somente letras, digitos ou @/./+/-/_", 'invalid') ] ) email = models.EmailField('E-mail', unique=True) name = models.CharField('Full Name', max_length=100, blank=True) is_active = models.BooleanField('Está Ativo?', blank=True, default=True) is_staff = models.BooleanField('É da Equipe?', blank=True, default=False) date_joined = models.DateTimeField('Data de Cadastro', auto_now_add=True) profilePic = models.ImageField( upload_to='accounts/profiles', verbose_name='Profile picture', null=True, blank=True ) objects = UserManager() USERNAME_FIELD = 'username' REQUIRED_FIELDS = ['email'] def __str__(self): return self.name or self.username def get_short_name(self): return self.username def get_full_name(self): return str(self) class Meta: verbose_name = 'User' verbose_name_plural = 'Users'
class User(AbstractBaseUser, PermissionsMixin): username = models.CharField( 'Apelido/Usuario', max_length=30, unique=True, validators=[ validators.RegexValidator( re.compile('^[\w.@+-]+$'), 'Informe nome de usuário válido.' 'Este valor deve conter apenas letra, números' 'e os caracteres: @ . + - _' 'invalid') ], help_text= 'Um nome curso que será utilizado para identificar-lhe na plataforma.') name = models.CharField('Nome', max_length=100) email = models.EmailField('Email', unique=True) is_staff = models.BooleanField('Equipe', default=False) is_active = models.BooleanField('Ativo', default=True) date_joined = models.DateTimeField('Data de cadastro', auto_now_add=True) USERNAME_FIELD = 'username' REQUIRED_FIELDS = ['email'] objects = UserManager() class Meta: verbose_name = 'Usuario' verbose_name_plural = 'Usuarios' def __str__(self): return self.username def get_full_name(self): return str(self) def get_short_name(self): return str(self).split(" ")[0]
class CustomUser(AbstractBaseUser, PermissionsMixin): email = models.EmailField('メールアドレス',unique=True) first_name = models.CharField('姓', max_length=30) last_name = models.CharField('名', max_length=30) adress = models.CharField('住所',max_length=30,blank=True) tel = models.CharField('電話番号',max_length=30,blank=True) created = models.DateTimeField('入会日',default=timezone.now) is_staff = models.BooleanField( ('staff status'), default=False, help_text=('Designates whether the user can log into this admin site.'), ) is_active = models.BooleanField( ('active'), default=True, help_text=( 'Designates whether this user should be treated as active. ' 'Unselect this instead of deleting accounts.' ), ) objects = UserManager() EMAIL_FIELD = 'email' USERNAME_FIELD = 'email' REQUIRED_FIELDS = [] class Meta: verbose_name = ('user') verbose_name_plural = ('users') def clean(self): super().clean() self.email = self.__class__.objects.normalize_email(self.email)
class User(AbstractBaseUser, PermissionsMixin): username_validator = UnicodeUsernameValidator() username = models.CharField( 'Usuário', max_length=30, unique=True, help_text= 'Obrigatorio. Nó máximo 30 caracteres. Letras, e os digitos @/./+/-/_ apenas.', validators=[username_validator], error_messages={'unique': "Esté usuário já está sendo utilizado."}, ) name = models.CharField('Nome completo', max_length=150) email = models.EmailField('E-mail') is_staff = models.BooleanField( 'Equipe', default=False, help_text='Define se o usuário pode acessar o painel administrativo', ) is_active = models.BooleanField( 'Status', default=True, help_text=('Status do usuário'), ) date_joined = models.DateTimeField('Data de criação', auto_now_add=True) updated_at = models.DateTimeField('Data de atualização', auto_now=True) objects = UserManager() EMAIL_FIELD = 'email' USERNAME_FIELD = 'username' REQUIRED_FIELDS = ['email', 'name'] class Meta: verbose_name = 'usuário' verbose_name_plural = 'Usuários'
class User(AbstractBaseUser, PermissionsMixin): username = models.CharField( max_length=30, unique=True, validators=[ validators.RegexValidator( re.compile('^[\w.@+-]+$'), 'Please provide a valid username.' 'This value must contain only letters, numbers ' 'and the characters: @/./+/-/_ .' , 'invalid' ) ] ) name = models.CharField(max_length=100, blank=True) email = models.EmailField(unique=True) is_staff = models.BooleanField(default=False) is_active = models.BooleanField(default=True) date_joined = models.DateTimeField(auto_now_add=True) USERNAME_FIELD = 'email' REQUIRED_FIELDS = ['username', 'name'] objects = UserManager() class Meta: verbose_name = 'Usuário' verbose_name_plural = 'Usuários' def __str__(self): return self.name or self.username def get_full_name(self): return str(self) def get_short_name(self): return str(self).split(" ")[0]
class User(AbstractBaseUser, PermissionsMixin): username = models.CharField(max_length=100, unique=True) email = models.EmailField(max_length=255, unique=True) is_active = models.BooleanField(default=True) is_admin = models.BooleanField(default=False) is_staff = models.BooleanField(default=False) date_joined = models.DateTimeField(('date joined'), auto_now_add=True) state = models.CharField(choices=STATES, max_length=64) county = models.CharField(choices=COUNTIES, max_length=64) primary_practice_area = models.CharField(choices=CASE_TYPE, max_length=64) score = models.CharField(max_length=64, default=0) website = models.CharField(max_length=100, default='') ppa_percent = models.CharField(max_length=4, default='0') secondary_practice_area = models.CharField(choices=CASE_TYPE, max_length=64, default='NA') spa_percent = models.CharField(max_length=4, default='0') legal_aid_org = models.ForeignKey(LegalAidOrg, on_delete=models.CASCADE, blank=True, null=True) # USERNAME_FIELD = 'email' USERNAME_FIELD = 'username' # REQUIRED_FIELDS = ['username',] REQUIRED_FIELDS = [ 'email', ] objects = UserManager() def get_short_name(self): return self.username def __unicode__(self): return self.email
class User(AbstractBaseUser, PermissionsMixin, CogneriumAbstractModel): remarks = models.TextField(null=True, blank=True) profilepic = models.ImageField(upload_to='images/', max_length=100, null=True) ismanager = models.BooleanField(default=False) first_name = models.CharField(max_length=15, default='') last_name = models.CharField(max_length=20, default='') email = models.EmailField(max_length=255, unique=True) username = models.CharField(max_length=100, blank=True, null=True) is_staff = models.BooleanField( ('staff status'), default=False, help_text=( 'Designates whether the user can log into this admin site.')) is_admin = models.BooleanField(default=False) USERNAME_FIELD = 'email' REQUIRED_FIELDS = ['username', 'ismanager', 'is_active'] password_reset_salt = models.IntegerField(blank=True, null=True) objects = UserManager() def get_full_name(self): if self.first_name or self.last_name: return f'{self.first_name} {self.last_name}' return self.username or self.email def get_short_name(self): """Return the email.""" return self.email or self.username def save(self, *args, **kwargs): super(User, self).save(*args, **kwargs) Token.objects.get_or_create(user=self) def __str__(self): return self.get_full_name()
class AdminUser(AbstractBaseUser): """A custom user model. Not really necessary yet""" id = models.AutoField(primary_key=True) username = models.CharField(max_length=100, unique=True, db_index=True) email = models.EmailField(max_length=100) first_name = models.CharField(max_length=30, blank=True) last_name = models.CharField(max_length=30, blank=True) date_joined = models.DateTimeField(auto_now_add=True) is_active = models.BooleanField(default=True, blank=True) is_superuser = models.BooleanField(default=False, blank=True) is_staff = models.BooleanField(default=False, blank=True) USERNAME_FIELD = 'username' REQUIRED_FIELDS = ['email'] objects = UserManager() class Meta: db_table = "user" # # These methods are required to work with Django's admin # def get_full_name(self): return self.first_name + " " + self.last_name def get_short_name(self): return self.first_name + " " + self.last_name # we don't need granular permissions; all staff will have access to # everything def has_perm(self, perm, obj=None): return True def has_module_perms(self, app_label): return True
class User(AbstractBaseModel, AbstractBaseUser, PermissionsMixin): email = models.EmailField(verbose_name=_('Email'), unique=True, db_index=True) username = models.CharField(_('Username'), max_length=150, unique=True) first_name = models.CharField(_('First Name'), max_length=255) last_name = models.CharField(_('Last Name'), max_length=255, blank=True) is_active = models.BooleanField(verbose_name=_('Active Status'), default=True) is_staff = models.BooleanField(verbose_name=_('Staff Status'), default=False) objects = UserManager() EMAIL_FIELD = 'email' USERNAME_FIELD = 'username' REQUIRED_FIELDS = ['email', 'first_name'] class Meta: verbose_name = _('User') verbose_name_plural = _('Users') ordering = ('first_name', 'last_name') def __str__(self): return self.full_name @property def full_name(self): full_name = f'{self.first_name} {self.last_name}' return full_name.strip() def get_full_name(self): return self.full_name def get_short_name(self): return self.first_name
class AbstractUser(AbstractBaseUser, PermissionsMixin): """ Абстрактный класс пользователя. """ username_validator = UnicodeUsernameValidator() username = models.CharField( _('username'), max_length=150, unique=True, help_text=_('Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only.'), validators=[username_validator], error_messages={ 'unique': _("A user with that username already exists."), }, ) email = models.EmailField(_('email address'), blank=True) first_name = models.CharField(_('first name'), max_length=30) last_name = models.CharField(_('last name'), max_length=30) is_staff = models.BooleanField(_('is_staff'), default=True) is_superuser = models.BooleanField(_('is_superuser'), default=True) objects = UserManager() EMAIL_FIELD = 'email' USERNAME_FIELD = 'username' REQUIRED_FIELDS = ['first_name', 'last_name'] class Meta: abstract = True verbose_name = _('user') verbose_name_plural = _('users') def clean(self): super().clean() self.email = self.__class__.objects.normalize_email(self.email)
class User(AbstractUser): """ A user account that can login and access functionality. """ USERNAME_FIELD = 'email' REQUIRED_FIELDS = [] email = models.EmailField(unique=True) username = models.CharField(unique=False, blank=True, max_length=150, null=True) password = models.CharField(max_length=199) first_name = models.CharField(max_length=150, blank=True, null=True) last_name = models.CharField(max_length=150, blank=True, null=True) phone_number = models.CharField(max_length=16, unique=True) properties = JSONField(blank=True, null=True) objects = UserManager() # def get_absolute_url(self): # return reverse('users:user:user-profiles', kwargs={'username': self.username}) class Meta: db_table = 'user'
class User(AbstractBaseUser, PermissionsMixin): id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False) name = models.CharField(max_length=50, default='') email = models.EmailField(_('email address'), unique=True) is_staff = models.BooleanField( _('staff status'), default=False, help_text=_( 'Designates whether the user can log into this admin site.'), ) is_active = models.BooleanField( _('active'), default=True, help_text=_( 'Designates whether this user should be treated as active. ' 'Unselect this instead of deleting accounts.'), ) date_joined = models.DateTimeField(_('date joined'), default=timezone.now) objects = UserManager() EMAIL_FIELD = 'email' USERNAME_FIELD = 'email' REQUIRED_FIELDS = [] class Meta: verbose_name = _('user') verbose_name_plural = _('users') def security_email(self, subject, message, from_email=None, **kwargs): """ Send a confirmation/security alert email to the user. """ send_mail(subject, message, from_email, [self.email], **kwargs)
class User(AbstractBaseUser, PermissionsMixin): name = models.CharField('Nome completo', max_length=255) is_active = models.BooleanField('Está ativo?', default=True, blank=True) is_staff = models.BooleanField('É administador?', default=False, blank=True) date_joined = models.DateTimeField('Data da Entrada', auto_now_add=True) cpf = models.CharField('CPF', max_length=15, unique=True) img_perfil = models.ImageField(upload_to='contas/perfil', verbose_name='Imagem Perfil', default='contas/perfil/user.png') type_choices = ( ('SU', 'Super User'), ('C', 'Common User'), ) user_type = models.CharField('Tipo do usuário', max_length=2, choices=type_choices, default='C') objects = UserManager() USERNAME_FIELD = 'cpf' REQUIRED_FIELDS = [] def __str__(self): return self.name or self.cpf def get_full_name(self): return str(self) def get_short_name(self): return str(self) class Meta(): verbose_name = 'Usuário' verbose_name_plural = 'Usuários'
class Creator(AbstractBaseUser, PermissionsMixin): profile_image = models.ImageField(null=True, blank=True, verbose_name='Profile image') name = models.CharField(max_length=255, verbose_name='Name of User') bio = models.TextField(null=True, blank=True, verbose_name='Bio') website = models.CharField(max_length=255, null=True, blank=True, verbose_name='Website') username = models.CharField(max_length=50, null=False, unique=True) # email = models.EmailField(max_length=255, null=False, verbose_name='Email', unique=True) # password = models.CharField(max_length=100, null=False, verbose_name='Password') USERNAME_FIELD = "username" objects = UserManager() @property def is_staff(self): return self.is_superuser def __str__(self): return self.username
class User(AbstractBaseUser, PermissionsMixin): email = models.EmailField(unique=True) username = models.CharField(max_length=30, unique=True) first_name = models.CharField(max_length=30, blank=True) last_name = models.CharField(max_length=30, blank=True) date_joined = models.DateTimeField(auto_now_add=True) is_active = models.BooleanField(default=True) is_staff = models.BooleanField(default=False) objects = UserManager() USERNAME_FIELD = 'email' REQUIRED_FIELDS = ['username'] class Meta: verbose_name = 'user' verbose_name_plural = 'users' def get_full_name(self): ''' Returns the first_name plus the last_name, with a space in between. ''' full_name = '%s %s' % (self.first_name, self.last_name) return full_name.strip() def get_short_name(self): ''' Returns the short name for the user. ''' return self.first_name def email_user(self, subject, message, from_email=None, **kwargs): ''' Sends an email to this User. ''' send_mail(subject, message, from_email, [self.email], **kwargs)
class User(AbstractBaseUser,PermissionsMixin): username = models.CharField('Usuário', max_length=20, unique=True) email = models.EmailField('E-mail') is_active = models.BooleanField( 'Está Ativo?', blank=True, default=True ) is_staff = models.BooleanField( 'Administrador', blank=True, default=True ) date_joined = models.DateTimeField( 'Data de Cadastro', auto_now_add=True ) objects = UserManager() USERNAME_FIELD = 'username' REQUIRED_FIELDS = ['email'] def __str__(self): return self.username def get_short_name(self): return self.username def get_full_name(self): return str(self) class Meta: verbose_name = 'Usuário' verbose_name_plural = 'Usuários'
class User(AbstractBaseUser, PermissionsMixin): email = models.EmailField('email address', unique=True, db_index=True) username = models.CharField('username', max_length=30, unique=True) date_joined = models.DateTimeField(auto_now_add=True) is_active = models.BooleanField(default=True) is_admin = models.BooleanField(default=False) is_staff = models.BooleanField(default=False) USERNAME_FIELD = 'username' REQUIRED_FIELDS = ['email'] objects = UserManager() def get_full_name(self): return self.email def get_short_name(self): return self.email def __str__(self): return self.__unicode__() def __unicode__(self): return self.email
class AppUser(AbstractUser): """ User model to which all other information about the user is linked (e.g. the language they speak, the language they're learning, and the submissions they make (submissions are stored in neo4j, see api/submissions.py) """ objects = UserManager() lang_learning = models.ForeignKey( Language, verbose_name='Learning Language', related_name='learning', null=True, help_text='Language the user is learning.') lang_speaking = models.ForeignKey(Language, verbose_name='Speaks Language', related_name='speaking', null=True, help_text='Language the user speaks.') def __unicode__(self): return unicode(self.username) or u''
class User(AbstractBaseUser, PermissionsMixin): username = models.CharField( 'Nome de Usuário', max_length=30, unique=True, validators=[ validators.RegexValidator( re.compile('^[\w.@+-]+$'), 'O nome de usuário só pode conter letras, digitos ou os ' 'seguintes caracteres: @/./+/-/_', 'invalid') ]) email = models.EmailField('E-mail', unique=True) name = models.CharField('Nome', max_length=100, blank=True) is_active = models.BooleanField('Está ativo?', blank=True, default=True) is_staff = models.BooleanField('É da equipe?', blank=True, default=False) date_joined = models.DateTimeField('Data de entrada', auto_now_add=True) objects = UserManager() USERNAME_FIELD = 'username' REQUIRED_FIELDS = ['email'] def __str__(self): return self.name or self.username def get_short_name(self): return self.username def get_full_name(self): return str(self) class Meta: verbose_name = 'Usuário' verbose_name_plural = 'Usuários'
class CustomUser(AbstractBaseUser, PermissionsMixin): email = models.EmailField('メールアドレス', unique=True) first_name = models.CharField(('姓'), max_length=30) last_name = models.CharField(('名'), max_length=30) description = models.TextField('自己紹介', default="", blank=True) image = models.ImageField(upload_to='images', verbose_name='プロフィール画像', null=True, blank=True) is_staff = models.BooleanField( ('staff status'), default=False, help_text=( 'Designates whether the user can log into this admin site.'), ) is_active = models.BooleanField( ('active'), default=True, help_text=('Designates whether this user should be treated as active. ' 'Unselect this instead of deleting accounts.'), ) objects = UserManager() USERNAME_FIELD = 'email' # オーバーライド EMAIL_FIELD = 'email' REQUIRED_FIELDS = [] class Meta: verbose_name = ('user') verbose_name_plural = ('users') def clean(self): super().clean() self.email = self.__class__.objects.normalize_email(self.email)
class User(AbstractBaseUser, PermissionsMixin): email = models.EmailField(_('email address'), unique=True) is_staff = models.BooleanField( _('staff status'), default=False, help_text=_( 'Designates whether the user can log into this admin site.'), ) is_active = models.BooleanField( _('active'), default=True, help_text=_( 'Designates whether this user should be treated as active. ' 'Unselect this instead of deleting accounts.'), ) date_joined = models.DateTimeField(_('date joined'), default=timezone.now) objects = UserManager() EMAIL_FIELD = 'email' USERNAME_FIELD = 'email' REQUIRED_FIELDS = [] class Meta: verbose_name = _('user') verbose_name_plural = _('users') def clean(self): super().clean() self.email = self.__class__.objects.normalize_email(self.email) def email_user(self, subject, message, from_email=None, **kwargs): """Send an email to this user.""" send_mail(subject, message, from_email, [self.email], **kwargs)
class TestUser(AbstractGenericGroup, UserGenericPermsMixin, AbstractBaseUser): SELF = 1 ASSISTANT = 1 << 2 ROLES = ( (SELF, 'User'), (ASSISTANT, 'Assistant'), ) USERNAME_FIELD = 'username' REQUIRED_FIELDS = ('email', ) username = models.CharField(max_length=30, unique=True) is_staff = models.BooleanField(default=False, ) is_active = models.BooleanField(default=True) date_joined = models.DateTimeField(auto_now_add=True) email = models.CharField(max_length=50) objects = UserManager() def get_short_name(self): return self.username def get_full_name(self): return self.username
class User(AbstractBaseUser, PermissionsMixin): email = models.EmailField(verbose_name=_('email address'), unique=True, blank=False) name = models.CharField(_('name'), max_length=30, blank=True) is_staff = models.BooleanField( _('staff status'), default=False, help_text=_( 'Designates whether the user can log into this admin site.'), ) is_active = models.BooleanField( _('active'), default=False, # 기본값을 False 로 변경 help_text=_( 'Designates whether this user should be treated as active. ' 'Unselect this instead of deleting accounts.'), ) date_joined = models.DateTimeField('가입일', default=timezone.now) objects = UserManager() USERNAME_FIELD = 'email' # email을 사용자의 식별자로 설정 REQUIRED_FIELDS = ['name'] # 필수입력값 class Meta: verbose_name = _('user') verbose_name_plural = _('users') swappable = 'AUTH_USER_MODEL' def email_user(self, subject, message, from_email=None, **kwargs): # 이메일 발송 메소드 send_mail(subject, message, from_email, [self.email], **kwargs)
class CustomUser(AbstractUser): user_id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False) username = models.CharField(max_length=40, unique=False, default="") email = models.EmailField(_("email address"), unique=True) is_staff = models.BooleanField( _("staff status"), default=False, help_text=_("Determines if user can access the admin site"), ) is_active = models.BooleanField(_("is active"), default=True) date_joined = models.DateTimeField(_("date joined"), auto_now_add=True) password = models.CharField(max_length=100, editable=False, default="") profile = models.OneToOneField(Profile, unique=True, on_delete=models.DO_NOTHING, null=True) objects = UserManager() USERNAME_FIELD = "email" REQUIRED_FIELDS = ["password", "is_staff"] def __str__(self): return self.email # gives users with is_staff permissions def has_perm(self, perm, obj=None): return self.is_staff class Meta: verbose_name = _("user") verbose_name_plural = _("users") ordering = ["-last_name"]
class User(AbstractUser): SEX = ( ('n', _('not defined')), ('f', _('female')), ('m', _('male')), ('o', _('other')), ) # this boolean defines if the user has a registered legacy account is_registered = models.BooleanField(_('registered'), default=False) updated = models.DateTimeField(auto_now=True) sex = models.CharField(_('sex'), max_length=1, choices=SEX, default='n', blank=True, null=True) birth_date = models.DateTimeField(_('birth date'), blank=True, null=True) death_date = models.DateTimeField(_('death date'), blank=True, null=True) # TODO: does extending this to a more specific model make sense? # more info here: https://github.com/furious-luke/django-address # postal_address max_length only for form purposes postal_address = models.TextField(_('postal address'), max_length=500, blank=True, null=True) phone_number = PhoneNumberField(_('phone number'), blank=True, null=True) secondary_phone_number = PhoneNumberField(_('seconday phone'), blank=True, null=True) # other identifying info: ssn = models.CharField(max_length=50, blank=True, null=True) avatar = models.ImageField(_('avatar'), upload_to='avatars/', null=True, blank=True) eth_address = EthereumAddressField() objects = UserManager() def __str__(self): return "{}-{}".format(self.email, self.first_name)
class User(AbstractUser): objects = UserManager() bio = models.CharField(max_length=512, null=True) role = models.CharField(max_length=2, choices=ROLE_CHOICES, default=CONTRIBUTOR) instagram = models.URLField( default="https://www.instagram.com/chubby.umi/") twitter = models.URLField(default="https://twitter.com/Cats") profile_img = models.URLField(default=None, null=True) # gets first theme (Daily Bruin) in database and sets as default theme selected_theme = models.ForeignKey('Theme', null=True, on_delete=models.SET_DEFAULT, default=1) starred_themes = models.ManyToManyField('Theme', related_name='related_users') def __str__(self): return self.username USERNAME_FIELD = 'username' REQUIRED_FIELDS = ['email']