from rest_framework import serializers from account.models import Profile class ProfileSerializer(serializers.ModelSerializer): class Meta: model = Profile fields = '__all__' class ProfileCreateSerializer(serializers.ModelSerializer): first_name = serializers.CharField() last_name = serializers.CharField() email = serializers.EmailField() # Create a custom method field current_user = serializers.SerializerMethodField('_user') class Meta: model = Profile fields = [ 'current_user', 'first_name', 'last_name', 'email', 'nick', 'pref_group', 'signed', ] def _user(self, obj): user = self.context['request'].user return user def create(self, validated_data): #user.first_name = validated_data['first_name'] #user.last_name = validated_data['last_name'] #user.email = validated_data['email'] #user.save() nick = validated_data['nick'] pref_group = validated_data['pref_group'] signed = validated_data['signed'] profile_obj = Profile( user=user, nick=nick, pref_group=pref_group, signed=signed, ) profile_obj.save() return validated_data