Uploading chapter 11 remaining files
This commit is contained in:
@@ -0,0 +1 @@
|
||||
#empty file
|
||||
@@ -0,0 +1,4 @@
|
||||
from django.contrib import admin
|
||||
from .models import Grade
|
||||
|
||||
admin.site.register(Grade)
|
||||
@@ -0,0 +1,6 @@
|
||||
from django.apps import AppConfig
|
||||
|
||||
|
||||
class GradesSvcConfig(AppConfig):
|
||||
default_auto_field = 'django.db.models.BigAutoField'
|
||||
name = 'grades_svc'
|
||||
@@ -0,0 +1,23 @@
|
||||
# Generated by Django 3.2.5 on 2021-07-03 10:52
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
initial = True
|
||||
|
||||
dependencies = [
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.CreateModel(
|
||||
name='Grade',
|
||||
fields=[
|
||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('grade_id', models.CharField(max_length=20)),
|
||||
('building', models.CharField(max_length=200)),
|
||||
('teacher', models.CharField(max_length=200)),
|
||||
],
|
||||
),
|
||||
]
|
||||
@@ -0,0 +1 @@
|
||||
#empty file
|
||||
@@ -0,0 +1,8 @@
|
||||
from django.db import models
|
||||
class Grade(models.Model):
|
||||
grade_id = models.CharField(max_length=20)
|
||||
building = models.CharField(max_length=200)
|
||||
teacher = models.CharField(max_length=200)
|
||||
|
||||
def __str__(self):
|
||||
return self.grade_id
|
||||
@@ -0,0 +1,7 @@
|
||||
from rest_framework import serializers
|
||||
from .models import Grade
|
||||
|
||||
class GradeSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model = Grade #
|
||||
fields = ('grade_id', 'building', 'teacher')
|
||||
@@ -0,0 +1,3 @@
|
||||
from django.test import TestCase
|
||||
|
||||
# Create your tests here.
|
||||
@@ -0,0 +1,13 @@
|
||||
from django.urls import path
|
||||
from .views import GradeViewSet
|
||||
|
||||
urlpatterns = [
|
||||
path('grades/', GradeViewSet.as_view({
|
||||
'get':'list',
|
||||
'post':'create'
|
||||
|
||||
})),
|
||||
path('grades/<str:id>', GradeViewSet.as_view({
|
||||
'get': 'retrieve'
|
||||
}))
|
||||
]
|
||||
@@ -0,0 +1,23 @@
|
||||
from rest_framework import viewsets, status
|
||||
from rest_framework.response import Response
|
||||
from .models import Grade
|
||||
from .serializers import GradeSerializer
|
||||
|
||||
class GradeViewSet(viewsets.ViewSet):
|
||||
|
||||
def list(self, request):
|
||||
grades_list = Grade.objects.all()
|
||||
serializer = GradeSerializer(grades_list, many=True)
|
||||
return Response(serializer.data)
|
||||
|
||||
def create(self, request):
|
||||
serializer = GradeSerializer(data=request.data)
|
||||
if serializer.is_valid():
|
||||
serializer.save() # save to db
|
||||
return Response(serializer.data, status=status.HTTP_201_CREATED)
|
||||
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
|
||||
|
||||
def retrieve(self, request, id=None):
|
||||
myclass = Grade.objects.get(grade_id= id)
|
||||
serializer = GradeSerializer(myclass)
|
||||
return Response(serializer.data)
|
||||
Reference in New Issue
Block a user