Compare commits
2 Commits
64032861e0
...
e4b185332b
| Author | SHA1 | Date | |
|---|---|---|---|
| e4b185332b | |||
| b973522477 |
@ -0,0 +1,38 @@
|
|||||||
|
# Generated by Django 4.2.14 on 2026-01-12 16:16
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('users', '0006_customuser_encrypted_private_key_name'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AddField(
|
||||||
|
model_name='customuser',
|
||||||
|
name='address',
|
||||||
|
field=models.CharField(blank=True, max_length=500, null=True, verbose_name='주소'),
|
||||||
|
),
|
||||||
|
migrations.AddField(
|
||||||
|
model_name='customuser',
|
||||||
|
name='birth_date',
|
||||||
|
field=models.DateField(blank=True, null=True, verbose_name='생년월일'),
|
||||||
|
),
|
||||||
|
migrations.AddField(
|
||||||
|
model_name='customuser',
|
||||||
|
name='education',
|
||||||
|
field=models.CharField(blank=True, choices=[('high_school', '고등학교 졸업'), ('associate', '전문학사'), ('bachelor', '학사'), ('master', '석사'), ('doctor', '박사'), ('other', '기타')], max_length=20, null=True, verbose_name='학력'),
|
||||||
|
),
|
||||||
|
migrations.AddField(
|
||||||
|
model_name='customuser',
|
||||||
|
name='gender',
|
||||||
|
field=models.CharField(blank=True, choices=[('M', '남성'), ('F', '여성'), ('O', '기타')], max_length=1, null=True, verbose_name='성별'),
|
||||||
|
),
|
||||||
|
migrations.AddField(
|
||||||
|
model_name='customuser',
|
||||||
|
name='phone',
|
||||||
|
field=models.CharField(blank=True, max_length=20, null=True, verbose_name='전화번호'),
|
||||||
|
),
|
||||||
|
]
|
||||||
@ -35,11 +35,33 @@ class CustomUser(AbstractBaseUser, PermissionsMixin):
|
|||||||
('user', '일반 사용자'),
|
('user', '일반 사용자'),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
GENDER_CHOICES = (
|
||||||
|
('M', '남성'),
|
||||||
|
('F', '여성'),
|
||||||
|
('O', '기타'),
|
||||||
|
)
|
||||||
|
|
||||||
|
EDUCATION_CHOICES = (
|
||||||
|
('high_school', '고등학교 졸업'),
|
||||||
|
('associate', '전문학사'),
|
||||||
|
('bachelor', '학사'),
|
||||||
|
('master', '석사'),
|
||||||
|
('doctor', '박사'),
|
||||||
|
('other', '기타'),
|
||||||
|
)
|
||||||
|
|
||||||
email = models.EmailField(unique=True)
|
email = models.EmailField(unique=True)
|
||||||
name = models.CharField(max_length=255)
|
name = models.CharField(max_length=255)
|
||||||
grade = models.CharField(max_length=20, choices=GRADE_CHOICES, default='user')
|
grade = models.CharField(max_length=20, choices=GRADE_CHOICES, default='user')
|
||||||
desc = models.TextField(blank=True, null=True, verbose_name="설명")
|
desc = models.TextField(blank=True, null=True, verbose_name="설명")
|
||||||
|
|
||||||
|
# 추가 회원 정보 (선택)
|
||||||
|
phone = models.CharField(max_length=20, blank=True, null=True, verbose_name="전화번호")
|
||||||
|
address = models.CharField(max_length=500, blank=True, null=True, verbose_name="주소")
|
||||||
|
gender = models.CharField(max_length=1, choices=GENDER_CHOICES, blank=True, null=True, verbose_name="성별")
|
||||||
|
birth_date = models.DateField(blank=True, null=True, verbose_name="생년월일")
|
||||||
|
education = models.CharField(max_length=20, choices=EDUCATION_CHOICES, blank=True, null=True, verbose_name="학력")
|
||||||
|
|
||||||
is_active = models.BooleanField(default=False)
|
is_active = models.BooleanField(default=False)
|
||||||
is_staff = models.BooleanField(default=False)
|
is_staff = models.BooleanField(default=False)
|
||||||
created_at = models.DateTimeField(auto_now_add=True)
|
created_at = models.DateTimeField(auto_now_add=True)
|
||||||
|
|||||||
@ -8,7 +8,8 @@ class RegisterSerializer(serializers.ModelSerializer):
|
|||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = CustomUser
|
model = CustomUser
|
||||||
fields = ("email", "name", "password", "grade", "desc")
|
fields = ("email", "name", "password", "grade", "desc",
|
||||||
|
"phone", "address", "gender", "birth_date", "education")
|
||||||
|
|
||||||
def create(self, validated_data):
|
def create(self, validated_data):
|
||||||
password = validated_data.pop("password")
|
password = validated_data.pop("password")
|
||||||
|
|||||||
Reference in New Issue
Block a user