Advertisement
Guest User

Untitled

a guest
Mar 3rd, 2019
139
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.87 KB | None | 0 0
  1. from rest_framework import serializers
  2. from django.contrib.auth.models import User
  3. from django.contrib.auth.hashers import make_password
  4.  
  5.  
  6. class UserSerializer(serializers.HyperlinkedModelSerializer):
  7. password = serializers.CharField(max_length=128, style={'input_type': 'password'}, write_only=True)
  8.  
  9. class Meta:
  10. model = User
  11. fields = ('url', 'id', 'username', 'email', 'first_name', 'last_name', 'password')
  12.  
  13. def create(self, validated_data):
  14. username = validated_data['username']
  15. email = validated_data['email']
  16. first_name = validated_data['first_name']
  17. last_name = validated_data['last_name']
  18. password = make_password(validated_data['password'])
  19.  
  20. def update(self, instance, validated_data):
  21. instance.email = validated_data.get('email', instance.email)
  22. instance.username = validated_data.get('username', instance.username)
  23. instance.first_name = validated_data.get('first_name', instance.first_name)
  24. instance.last_name = validated_data.get('last_name', instance.last_name)
  25. instance.password = make_password(validated_data.get('password', instance.password))
  26. instance.save()
  27. return instance
  28.  
  29. from urllib import request
  30. from rest_framework import viewsets, status
  31. from django.contrib.auth.models import User
  32. from atest.serializers import UserSerializer
  33. from rest_framework import permissions
  34. from atest.permissions import IsOwnerOrReadOnly
  35. from rest_framework.decorators import action
  36. from rest_framework.response import Response
  37.  
  38.  
  39. class UserViewSet(viewsets.ModelViewSet):
  40. """
  41. This viewset provides operations on Users table to the same user.
  42. """
  43.  
  44. permission_classes = [permissions.IsAuthenticatedOrReadOnly, IsOwnerOrReadOnly]
  45. queryset = User.objects.all()
  46. serializer_class = UserSerializer
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement