2016-12-06 21 views
0

が動作していないDjangoのユーザー更新は、私は、このユーザー・シリアライザを持って

class UserView(APIView): 
    def patch(self, request, user_id): 
     firstname = request.data.get('first_name', '') 
     email = request.data.get('email', '') 
     password = request.data.get('password', '') 

     user = User.objects.get(id=user_id) 
     serializer = UserSerializer(instance=user, data=request.data, partial=True) 
     if serializer.is_valid(): 
      serializer.save() 
      return Response(status=status.HTTP_200_OK) 
     return Response(status=status.HTTP_400_BAD_REQUEST) 

私は、このJSONリクエストを送信するが、唯一のpasswordemailが更新され、 first_nameは更新されていません。

{ 
"password":"6524266", 
"email":"[email protected]", 
"first name":"dsfxvxc" 
} 

私は、ステータス200 OKを取得し、私のコードが間違っている何serializer.save()

に保存されたオブジェクトを取得することができますか?

答えて

1

emailfield

first_name = models.EmailField(_('first name'), blank=True) 

は、CharFieldですまたは関連分野にこのようなものを、これを変更し

first_name = models.CharField(max_length=30) 
+0

おかげで、今は私の新しいpaswordではなく、プレーンtext' 'に保存されている理由として、あなたはFIRSTNAMEを設定「ハッシュ」の? – Sajad

+0

ooh ..私はそれに気付きましたが、なぜあなたがdjangoユーザモデルの代わりにusermodelを使っているのか言及するのを忘れましたか? –

+0

私は 'usermodel'を使う必要があります。 – Sajad

関連する問題