from django.db import models from pingcap_sso.db.fields.encrypt import SM4EncryptedField class EncryptUser(models.Model): password = models.CharField( 'password', max_length=128, ) username = models.CharField( 'username', max_length=60, unique=True, help_text='Required. 150 characters or fewer.' 'Letters, digits and @/./+/-/_ only.', error_messages={ 'unique': 'A user with that username already exists.', }, ) username_last_modified_at = models.DateTimeField( 'username last modified at', default=None, blank=True, null=True) email = SM4EncryptedField( 'email', null=True, blank=True, ) email_verified = models.BooleanField( 'email verified', default=False ) phone = SM4EncryptedField( 'phone number', null=True, blank=True, ) name = SM4EncryptedField( 'real name', max_length=128, blank=True, null=True ) avatar_url = models.URLField() 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') bio = models.CharField(max_length=255, default=None, blank=True, null=True) gender = models.SmallIntegerField(blank=True, null=True) date_of_birth = models.DateField( default=None, blank=True, null=True) address = SM4EncryptedField( max_length=128, default=None, blank=True, null=True) company_name = SM4EncryptedField( max_length=100, default=None, blank=True, null=True) class Meta: db_table = 'pingcap_users'