diff --git a/client/models.py b/client/models.py index b0be80f..06fd371 100644 --- a/client/models.py +++ b/client/models.py @@ -37,8 +37,8 @@ class Address(models.Model): address_line1 = models.CharField(max_length=50) address_line2 = models.CharField(max_length=50) postal_code = models.CharField(max_length=15) - tax_type = models.ForeignKey(TaxType, on_delete=models.CASCADE) - tax_id = models.CharField(max_length=30) + tax_type = models.ForeignKey(TaxType, on_delete=models.CASCADE, blank=True, null=True) + tax_id = models.CharField(max_length=30, blank=True, null=True) def __str__(self): return self.address_line1 diff --git a/employee/urls.py b/employee/urls.py index 68bcaf6..43bba90 100644 --- a/employee/urls.py +++ b/employee/urls.py @@ -1,6 +1,10 @@ -from django.urls import path +from django.urls import path, include from . import views +from rest_framework import routers + +router = routers.DefaultRouter() +router.register(r'employees', views.EmployeeViewSet) urlpatterns = [ - path('employees/', views.EmployeeList.as_view()), + path('', include(router.urls)), ] diff --git a/employee/views.py b/employee/views.py index 4944149..58b413b 100644 --- a/employee/views.py +++ b/employee/views.py @@ -1,16 +1,13 @@ -from rest_framework.response import Response -from rest_framework.views import APIView +from rest_framework import viewsets from rest_framework.authentication import TokenAuthentication, SessionAuthentication from rest_framework.permissions import IsAuthenticated from .models import Employee from .serializers import EmployeeSerializer -class EmployeeList(APIView): +class EmployeeViewSet(viewsets.ReadOnlyModelViewSet): + queryset = Employee.objects.all() + serializer_class = EmployeeSerializer authentication_classes = [TokenAuthentication, SessionAuthentication] permission_classes = [IsAuthenticated] - def get(self, request): - employees = Employee.objects.all() - serializer = EmployeeSerializer(employees, many=True) - return Response(serializer.data)