2023-07-18 15:51:06 +08:00
# Generated by Django 4.2.3 on 2023-07-18 07:43
2023-06-26 19:45:58 +08:00
2023-06-26 21:39:59 +08:00
import accounts . models
2023-06-26 19:45:58 +08:00
import django . contrib . auth . models
import django . contrib . auth . validators
from django . db import migrations , models
import django . utils . timezone
class Migration ( migrations . Migration ) :
initial = True
dependencies = [
]
operations = [
migrations . CreateModel (
name = ' CustomUser ' ,
fields = [
( ' id ' , models . BigAutoField ( auto_created = True , primary_key = True , serialize = False , verbose_name = ' ID ' ) ) ,
( ' password ' , models . CharField ( max_length = 128 , verbose_name = ' password ' ) ) ,
( ' last_login ' , models . DateTimeField ( blank = True , null = True , verbose_name = ' last login ' ) ) ,
( ' is_superuser ' , models . BooleanField ( default = False , help_text = ' Designates that this user has all permissions without explicitly assigning them. ' , verbose_name = ' superuser status ' ) ) ,
( ' username ' , models . CharField ( error_messages = { ' unique ' : ' A user with that username already exists. ' } , help_text = ' Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only. ' , max_length = 150 , unique = True , validators = [ django . contrib . auth . validators . UnicodeUsernameValidator ( ) ] , verbose_name = ' username ' ) ) ,
( ' email ' , models . EmailField ( blank = True , max_length = 254 , verbose_name = ' email address ' ) ) ,
( ' is_staff ' , models . BooleanField ( default = False , help_text = ' Designates whether the user can log into this admin site. ' , verbose_name = ' staff status ' ) ) ,
( ' date_joined ' , models . DateTimeField ( default = django . utils . timezone . now , verbose_name = ' date joined ' ) ) ,
2023-06-26 21:39:59 +08:00
( ' first_name ' , models . CharField ( max_length = 100 ) ) ,
( ' last_name ' , models . CharField ( max_length = 100 ) ) ,
2023-07-09 19:00:47 +08:00
( ' is_active ' , models . BooleanField ( default = False ) ) ,
2023-06-26 19:45:58 +08:00
( ' is_student ' , models . BooleanField ( default = True ) ) ,
2023-06-26 21:39:59 +08:00
( ' is_studying ' , models . BooleanField ( default = False ) ) ,
2023-06-26 19:45:58 +08:00
( ' is_banned ' , models . BooleanField ( default = False ) ) ,
2023-06-26 21:39:59 +08:00
( ' student_id_number ' , models . CharField ( max_length = 16 , validators = [ accounts . models . validate_student_id ] ) ) ,
( ' avatar ' , models . ImageField ( null = True , upload_to = accounts . models . CustomUser . _get_upload_to ) ) ,
2023-06-26 19:45:58 +08:00
] ,
options = {
' verbose_name ' : ' user ' ,
' verbose_name_plural ' : ' users ' ,
' abstract ' : False ,
} ,
managers = [
( ' objects ' , django . contrib . auth . models . UserManager ( ) ) ,
] ,
) ,
]