Uploading chapter 11 remaining files

This commit is contained in:
muassif
2021-07-08 22:05:16 +04:00
committed by GitHub
parent 49e6811b81
commit 822894f3ea
20 changed files with 301 additions and 0 deletions
@@ -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)