Allow the user password to be changed from the user API endpoint

This commit is contained in:
Roberto Rosario
2014-12-11 20:24:55 -04:00
parent 51951d9691
commit da0f3f1143

View File

@@ -7,13 +7,15 @@ from rest_framework import serializers
class UserSerializer(serializers.ModelSerializer):
class Meta:
fields = ('id', 'username', 'first_name', 'last_name', 'email', 'is_staff', 'is_active', 'is_superuser', 'last_login', 'date_joined')
fields = ('id', 'username', 'first_name', 'last_name', 'email', 'is_staff', 'is_active', 'is_superuser', 'last_login', 'date_joined', 'password')
model = User
read_only_fields = ('last_login', 'date_joined')
write_only_fields = ('password',)
def restore_object(self, attrs, instance=None):
user = super(UserSerializer, self).restore_object(attrs, instance)
user.set_password(attrs['password'])
if 'password' in attrs:
user.set_password(attrs['password'])
return user