Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from rest_framework import serializers
- from users.models import User
- class UserSerializer(serializers.HyperlinkedModelSerializer):
- todos = serializers.HyperlinkedRelatedField(
- many=True,
- view_name='todos:todo-detail',
- read_only=True
- )
- password = serializers.CharField(write_only=True)
- def create(self, validated_data):
- user = User(
- username=validated_data.get('username', None)
- )
- user.set_password(validated_data.get('password', None))
- user.save()
- return user
- def update(self, instance, validated_data):
- for field in validated_data:
- if field == 'password':
- instance.set_password(validated_data.get(field))
- else:
- instance.__setattr__(field, validated_data.get(field))
- instance.save()
- return instance
- class Meta:
- model = User
- fields = ('url', 'id', 'username',
- 'password', 'first_name', 'last_name',
- 'email', 'todos'
- )
- extra_kwargs = {
- 'url': {
- 'view_name': 'users:user-detail',
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement