Skip to content

Instantly share code, notes, and snippets.

@dustinfarris
Created November 16, 2014 17:50
Show Gist options
  • Save dustinfarris/d5c647e7a818d1ed2132 to your computer and use it in GitHub Desktop.
Save dustinfarris/d5c647e7a818d1ed2132 to your computer and use it in GitHub Desktop.
Attempt at a user serializer in DRF 3.0
class UserSerializer(serializers.ModelSerializer):
password = serializers.CharField(
min_length=6, write_only=True, required=False)
class Meta:
model = User
fields = ('id', 'first_name', 'last_name', 'password')
def create(self, validated_data):
password = validated_data.pop('password', None)
user = User.objects.create(**validated_data)
if password is not None:
user.set_password(password)
user.save()
return user
def update(self, instance, validated_data):
instance.first_name = validated_data['first_name']
instance.last_name = validated_data['last_name']
password = validated_data.get('password', None)
if password is not None:
instance.set_password(password)
instance.save()
return instance
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment