예제 #1
0
    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)
예제 #2
0
    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)
예제 #3
0
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)
예제 #4
0
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)
예제 #5
0
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)
예제 #6
0
    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()))