def test_usermodelserializer_update_not_allowed(self):
        """Checks User instance update using UserModelSerializer

        Tests if UserModelSerializer update is invalid due to update not
        allowed."""
        serializer = UserModelSerializer(self.user, data=self.data)
        serializer.is_valid()

        test_case_message = ('UserModelSerializer should not attempt to update'
                             ' User instance.')
        with self.assertRaises(ValidationError, msg=test_case_message):
            serializer.save()
Esempio n. 2
0
def user_detail(request, pk):

    try:
        user = UserModel.objects.get(pk=pk)
    except UserModel.DoesNotExist:
        return HttpResponse(status=404)

    if request.method == 'GET':
        serializer = UserModelSerializer(user)
        return JsonResponse(serializer.data,
                            json_dumps_params={'ensure_ascii': False})
    elif request.method == 'PUT':
        serializer = UserModelSerializer(user, data=request.data, partial=True)
        if serializer.is_valid():
            serializer.save()
            return JsonResponse(serializer.data)
        return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
    elif request.method == 'DELETE':
        user.delete()
        return HttpResponse(status=204)
Esempio n. 3
0
def user_list(request):

    if request.method == 'GET':
        users = UserModel.objects.all()
        serializer = UserModelSerializer(users, many=True)
        return JsonResponse(serializer.data,
                            safe=False,
                            json_dumps_params={'ensure_ascii': False})

    elif request.method == 'POST':
        data = JSONParser().parse(request)
        data['color'] = "#" + \
            ''.join([random.choice('0123456789ABCDEF') for j in range(6)])
        serializer = UserModelSerializer(data=data)
        if serializer.is_valid():
            serializer.save()
            return JsonResponse(serializer.data,
                                status=201,
                                json_dumps_params={'ensure_ascii': False})
        return JsonResponse(serializer.errors, status=400)