Files
sf_lactorapi/animals/views.py
2019-01-01 19:46:17 +01:00

48 lines
1.6 KiB
Python

from django.shortcuts import render
from rest_framework.decorators import api_view
from rest_framework.response import Response
from rest_framework import status
from .models import Animal
from .serializers import AnimalSerializer
#@api_view(['GET', 'DELETE', 'PUT'])
@api_view(['GET', 'PUT'])
def get_delete_update_animal (request, pk):
try:
animal = Animal.objects.get (pk = pk)
except Animal.DoesNotExist:
return Response (status=status.HTTP_404_NOT_FOUND)
# get details of a single Animal
if request.method == 'GET':
serializer = AnimalSerializer (animal)
return Response (serializer.data)
# delete a single puppy
elif request.method == 'DELETE':
return Response ({})
# update details of a single puppy
elif request.method == 'PUT':
return Response ({})
@api_view(['GET', 'POST'])
def get_post_animals (request):
# get all Animals
if request.method == 'GET':
animals = Animal.objects.all ()
serializer = AnimalSerializer (animals, many=True)
return Response (serializer.data)
# insert a new record for a Animal
elif request.method == 'POST':
data = { 'animalnr': int (request.data.get ('animalnr')),
'earmark': request.data.get ('earmark'),
'rfid': request.data.get ('rfid'),
'forbidmilk': '0'
}
serializer = AnimalSerializer (data = data)
if serializer.is_valid () and data ['animalnr'] > 0 :
serializer.save ()
return Response (serializer.data, status=status.HTTP_201_CREATED)
return Response( serializer.errors, status=status.HTTP_400_BAD_REQUEST)