@@ -37,8 +37,8 @@ class Address(models.Model): | |||||
address_line1 = models.CharField(max_length=50) | address_line1 = models.CharField(max_length=50) | ||||
address_line2 = models.CharField(max_length=50) | address_line2 = models.CharField(max_length=50) | ||||
postal_code = models.CharField(max_length=15) | 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): | def __str__(self): | ||||
return self.address_line1 | return self.address_line1 | ||||
@@ -1,6 +1,10 @@ | |||||
from django.urls import path | |||||
from django.urls import path, include | |||||
from . import views | from . import views | ||||
from rest_framework import routers | |||||
router = routers.DefaultRouter() | |||||
router.register(r'employees', views.EmployeeViewSet) | |||||
urlpatterns = [ | urlpatterns = [ | ||||
path('employees/', views.EmployeeList.as_view()), | |||||
path('', include(router.urls)), | |||||
] | ] |
@@ -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.authentication import TokenAuthentication, SessionAuthentication | ||||
from rest_framework.permissions import IsAuthenticated | from rest_framework.permissions import IsAuthenticated | ||||
from .models import Employee | from .models import Employee | ||||
from .serializers import EmployeeSerializer | from .serializers import EmployeeSerializer | ||||
class EmployeeList(APIView): | |||||
class EmployeeViewSet(viewsets.ReadOnlyModelViewSet): | |||||
queryset = Employee.objects.all() | |||||
serializer_class = EmployeeSerializer | |||||
authentication_classes = [TokenAuthentication, SessionAuthentication] | authentication_classes = [TokenAuthentication, SessionAuthentication] | ||||
permission_classes = [IsAuthenticated] | permission_classes = [IsAuthenticated] | ||||
def get(self, request): | |||||
employees = Employee.objects.all() | |||||
serializer = EmployeeSerializer(employees, many=True) | |||||
return Response(serializer.data) |