我正在尝试创建用户,其中用户模型有两个用户配置文件,例如教师和学生。在创建用户时,我也想在教师或学生档案中创建用户实例。
class StudentSerializer(serializers.ModelSerializer):
class Meta:
model = Student
fields = ('id', 'user_id')
class TeacherSerializer(serializers.ModelSerializer):
class Meta:
model = Teacher
fields = ('id', 'user_id')
class UserSerializer(serializers.ModelSerializer):
class Meta:
model = User
fields = (
'id',
'username',
'password',
'email',
'user_type'
)
extra_kwargs = {
'password': {'write_only': True},
}
def create(self, validated_data):
user = User.objects.create_user(**validated_data)
return user
以下是自定义注册视图:
class CreateUserView(CreateAPIView):
model = User
permission_classes = [
permissions.AllowAny # Or anon users can't register
]
serializer_class = UserSerializer
现在,我能够创建用户,但根据
user_type
参数对我来说是一个挑战。
是
大学生