def test_get_an_house(self): response = self.client.get('/house/1/') stream = BytesIO(response.content) data = JSONParser().parse(stream) house = HouseSerializer(data=data, many=True) if house.is_valid(): assert 1 == len(house.validated_data)
def test_houses_url_return_10_houses(self): request = HttpRequest() request.method = "GET" response = house_list(request) stream = BytesIO(response.content) data = JSONParser().parse(stream) houses = HouseSerializer(data=data, many=True) if houses.is_valid(): assert 10 == len(houses.validated_data)
def house_list(request): if request.method == 'GET': houses = House.objects.all() serializer = HouseSerializer(houses, many=True) return JsonResponse(serializer.data, safe=False) elif request.method == 'POST': data = JSONParser().parse(request) serializer = HouseSerializer(data=data) if serializer.is_valid(): serializer.save() return JsonResponse(serializer.data , status=201) return JsonResponse(serializer.errors, status=400)
def predict(request): """ Renvoie une house avec la MEDV completee (Attend une MEDV innexistante) """ if request.method == 'GET': return JsonResponse(serializer.errors, status=400) elif request.method == 'POST': data = JSONParser().parse(request) serializer = HouseSerializer(data=data) if serializer.is_valid(): data["MEDV"] = predict_medv(data) serializer = HouseSerializer(data=data) if serializer.is_valid(): serializer.save() return JsonResponse(serializer.data , status=201) return JsonResponse(serializer.errors, status=400)
def house_detail(request, pk): print("house_detail") try: house = House.objects.get(pk=pk) except House.DoesNotExist: return HttpResponse(status=404) if request.method == 'GET': serializer = HouseSerializer(house) return JsonResponse(serializer.data) elif request.method == 'PUT': data = JSONParser().parse(request) serializer = HouseSerializer(house, data=data) if serializer.is_valid(): serializer.save() return JsonResponse(serializer.data) return JsonResponse(serializer.errors, status=400) elif request.method == 'DELETE': house.delete() return HttpResponse(status=204) return HttpResponse(status=204)
INDUS=7.07, CHAS=0.0, NOX=0.469, RM=6.421, AGE=78.9, DIS=4.9671, RAD=2.0, TAX=242.0, PTRATIO=17.8, B=396.9, LSTAT=9.14, #MEDV = ) house.save() serializer = HouseSerializer(house) serializer.data content = JSONRenderer().render(serializer.data) content from django.utils.six import BytesIO stream = BytesIO(content) data = JSONParser().parse(stream) serializer = HouseSerializer(data=data) serializer.save() #house = HouseSerializer(data=data) #print("Données pour créer la maison sont valide ? : %s "%(house.is_valid()))