diff --git a/backend/account/migrations/0006_user_brith_day_user_gender.py b/backend/account/migrations/0006_user_brith_day_user_gender.py new file mode 100644 index 0000000..e7d61c3 --- /dev/null +++ b/backend/account/migrations/0006_user_brith_day_user_gender.py @@ -0,0 +1,25 @@ +# Generated by Django 5.1.2 on 2025-02-11 17:14 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('account', '0005_alter_useraddressmodel_options_alter_user_is_active_and_more'), + ] + + operations = [ + migrations.AddField( + model_name='user', + name='brith_day', + field=models.DateField(default='2024-10-09'), + preserve_default=False, + ), + migrations.AddField( + model_name='user', + name='gender', + field=models.CharField(choices=[('male', 'مرد'), ('female', 'زن')], default='male', max_length=20, verbose_name='جنسیت'), + preserve_default=False, + ), + ] diff --git a/backend/account/migrations/0007_rename_brith_day_user_birth_day.py b/backend/account/migrations/0007_rename_brith_day_user_birth_day.py new file mode 100644 index 0000000..b6b8e74 --- /dev/null +++ b/backend/account/migrations/0007_rename_brith_day_user_birth_day.py @@ -0,0 +1,18 @@ +# Generated by Django 5.1.2 on 2025-02-11 18:10 + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('account', '0006_user_brith_day_user_gender'), + ] + + operations = [ + migrations.RenameField( + model_name='user', + old_name='brith_day', + new_name='birth_day', + ), + ] diff --git a/backend/account/models.py b/backend/account/models.py index 74d4ad9..4ad25c6 100644 --- a/backend/account/models.py +++ b/backend/account/models.py @@ -41,6 +41,12 @@ class User(AbstractBaseUser, PermissionsMixin): profile_photo = models.ImageField(upload_to='profile_photos/', null=True, blank=True, verbose_name='عکس پروفایل') is_active = models.BooleanField(default=True, verbose_name='فعال بودن کاربر') is_staff = models.BooleanField(default=False, verbose_name='کارمند') + gender_option = ( + ('male', 'مرد'), + ('female', 'زن') + ) + gender = models.CharField(choices=gender_option, max_length=20, verbose_name='جنسیت') + birth_day = models.DateField() date_joined = models.DateTimeField(auto_now_add=True, verbose_name='تاریخ ثبتنام') otp_hash = models.CharField(max_length=64, null=True, blank=True, verbose_name='کد یک بار مصرف') otp_expiry = models.DateTimeField(null=True, blank=True, verbose_name='تاریخ تمام شدن کد یک بار مصرف') diff --git a/backend/account/serializers.py b/backend/account/serializers.py index dae6e9e..7b6ff1a 100644 --- a/backend/account/serializers.py +++ b/backend/account/serializers.py @@ -10,7 +10,7 @@ class CustomTokenObtainPairSerializer(TokenObtainPairSerializer): class ProfileSerializer(serializers.ModelSerializer): class Meta: model = User - fields = ['first_name', 'last_name', 'email', 'profile_photo', 'phone'] + fields = ['first_name', 'last_name', 'email', 'profile_photo', 'phone', 'gender', 'birth_day'] read_only_fields = ("phone",)