def rfid(self, request, pk): """ Set a Users RFID(privileged operation). --- serializer: api.serializers.RFIDSerializer """ u = self.get_object() user = request._user serializer = RFIDSerializer(data=request.data) serializer.is_valid(raise_exception=True) rfid = serializer.validated_data['rfid'] u.rfid = rfid # save() causes server error try: u.save() except IntegrityError: error = ParseError(detail="RFID already belongs to another member.") error.errno = DUPLICATE raise error api_request = create_api_request(request, serializer) api_request.user = u api_request.save() return Response({ "api_request": api_request.id })