feat: add profile api
This commit is contained in:
@@ -11,8 +11,8 @@ class UserSerializer(serializers.ModelSerializer):
|
||||
fields = [
|
||||
'id', 'username', 'real_name', 'phone', 'avatar',
|
||||
'gender', 'role_type', 'institution', 'institution_name',
|
||||
'department', 'department_name', 'title_name', 'major',
|
||||
'training_stage', 'learning_target', 'competency_profile',
|
||||
'department', 'department_name', 'title_name', 'practice_years',
|
||||
'major', 'training_stage', 'learning_target', 'competency_profile',
|
||||
'weak_dimensions', 'strong_dimensions', 'ai_preference',
|
||||
'total_training_count', 'total_case_count', 'current_level',
|
||||
'status', 'last_login_time', 'created_at', 'updated_at'
|
||||
@@ -44,11 +44,27 @@ class UserUpdateSerializer(serializers.ModelSerializer):
|
||||
model = User
|
||||
fields = [
|
||||
'real_name', 'phone', 'avatar', 'gender', 'role_type',
|
||||
'institution', 'department', 'title_name', 'major',
|
||||
'training_stage', 'learning_target', 'status'
|
||||
'institution', 'department', 'title_name', 'practice_years',
|
||||
'major', 'training_stage', 'learning_target', 'status'
|
||||
]
|
||||
|
||||
|
||||
class StudentProfileConfigSerializer(serializers.Serializer):
|
||||
"""医学生信息配置(首次进入系统)——科室、专业职称、执业年限"""
|
||||
department = serializers.PrimaryKeyRelatedField(
|
||||
queryset=Department.objects.all(), help_text='执业科室 ID'
|
||||
)
|
||||
title_name = serializers.CharField(max_length=50, help_text='专业职称,如:住院医师')
|
||||
practice_years = serializers.CharField(max_length=20, help_text='执业年限,如:1-3年')
|
||||
|
||||
def validate_department(self, value):
|
||||
"""科室必须属于当前用户所在机构"""
|
||||
user = self.context['request'].user
|
||||
if user.institution_id and value.institution_id != user.institution_id:
|
||||
raise serializers.ValidationError('所选科室不属于您所在的机构')
|
||||
return value
|
||||
|
||||
|
||||
class UserPasswordSerializer(serializers.Serializer):
|
||||
"""密码修改序列化器"""
|
||||
old_password = serializers.CharField(required=True, write_only=True)
|
||||
|
||||
Reference in New Issue
Block a user