48 lines
1.6 KiB
Python
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)
|