init medical training project
This commit is contained in:
@@ -0,0 +1,84 @@
|
||||
from rest_framework import serializers
|
||||
from .models import User, Role, TeacherStudentRelation, Institution, Department
|
||||
|
||||
|
||||
class UserSerializer(serializers.ModelSerializer):
|
||||
institution_name = serializers.CharField(source='institution.name', read_only=True)
|
||||
department_name = serializers.CharField(source='department.name', read_only=True)
|
||||
|
||||
class Meta:
|
||||
model = User
|
||||
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',
|
||||
'weak_dimensions', 'strong_dimensions', 'ai_preference',
|
||||
'total_training_count', 'total_case_count', 'current_level',
|
||||
'status', 'last_login_time', 'created_at', 'updated_at'
|
||||
]
|
||||
extra_kwargs = {
|
||||
'password': {'write_only': True},
|
||||
}
|
||||
|
||||
|
||||
class UserCreateSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model = User
|
||||
fields = [
|
||||
'id', 'username', 'password', 'real_name', 'phone',
|
||||
'gender', 'role_type', 'institution', 'department',
|
||||
'title_name', 'major', 'training_stage', 'status'
|
||||
]
|
||||
extra_kwargs = {
|
||||
'password': {'write_only': True},
|
||||
}
|
||||
|
||||
def create(self, validated_data):
|
||||
user = User.objects.create_user(**validated_data)
|
||||
return user
|
||||
|
||||
|
||||
class UserUpdateSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model = User
|
||||
fields = [
|
||||
'real_name', 'phone', 'avatar', 'gender', 'role_type',
|
||||
'institution', 'department', 'title_name', 'major',
|
||||
'training_stage', 'learning_target', 'status'
|
||||
]
|
||||
|
||||
|
||||
class UserPasswordSerializer(serializers.Serializer):
|
||||
"""密码修改序列化器"""
|
||||
old_password = serializers.CharField(required=True, write_only=True)
|
||||
new_password = serializers.CharField(required=True, write_only=True, min_length=6)
|
||||
|
||||
|
||||
class RoleSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model = Role
|
||||
fields = '__all__'
|
||||
|
||||
|
||||
class TeacherStudentRelationSerializer(serializers.ModelSerializer):
|
||||
teacher_name = serializers.CharField(source='teacher.real_name', read_only=True)
|
||||
student_name = serializers.CharField(source='student.real_name', read_only=True)
|
||||
|
||||
class Meta:
|
||||
model = TeacherStudentRelation
|
||||
fields = '__all__'
|
||||
|
||||
|
||||
class InstitutionSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model = Institution
|
||||
fields = '__all__'
|
||||
|
||||
|
||||
class DepartmentSerializer(serializers.ModelSerializer):
|
||||
institution_name = serializers.CharField(source='institution.name', read_only=True)
|
||||
|
||||
class Meta:
|
||||
model = Department
|
||||
fields = '__all__'
|
||||
Reference in New Issue
Block a user