mirror of
https://github.com/Rushilwiz/SkoolOS.git
synced 2025-04-28 15:59:55 -04:00
api-attemp1
This commit is contained in:
parent
60d16b9e6a
commit
2376dc7430
Website
api
maker.py
migrations
0009_auto_20200606_1859.py0010_auto_20200606_1910.py0011_classes_assignments.py0012_remove_student_assignments.py0013_auto_20200606_2004.py0014_auto_20200606_2005.py0015_auto_20200606_2023.py0016_classes_teachers.py0017_auto_20200606_2101.py0018_auto_20200606_2107.py0019_auto_20200606_2126.py
models.pyserializers.pyskoolsite
139
Website/api/maker.py
Normal file
139
Website/api/maker.py
Normal file
|
@ -0,0 +1,139 @@
|
|||
from api.models import Assignment, Student, Classes, Teacher
|
||||
from datetime import datetime
|
||||
|
||||
#students
|
||||
raffu = Student(
|
||||
first_name = "Raffu",
|
||||
last_name = "Khondaker",
|
||||
student_id = 1579460,
|
||||
webmail = "2022rkhondak@tjhsst.edu",
|
||||
grade = 10,
|
||||
)
|
||||
raffu.save()
|
||||
|
||||
#teachers
|
||||
ng = Teacher(
|
||||
first_name = "Kim",
|
||||
last_name = "Ng",
|
||||
)
|
||||
|
||||
ng.save()
|
||||
|
||||
chao = Teacher(
|
||||
first_name = "Susie",
|
||||
last_name = "Lebryk-Chao",
|
||||
)
|
||||
|
||||
chao.save()
|
||||
|
||||
#Assignments
|
||||
A1 = Assignment(
|
||||
name='Week1_HW',
|
||||
due_date=datetime.now(),
|
||||
|
||||
)
|
||||
A1.save()
|
||||
|
||||
A2 = Assignment(
|
||||
name='Week2_HW',
|
||||
due_date=datetime.now(),
|
||||
|
||||
)
|
||||
A2.save()
|
||||
|
||||
A3 = Assignment(
|
||||
name='Journal1',
|
||||
due_date=datetime.now(),
|
||||
)
|
||||
A3.save()
|
||||
|
||||
#classes
|
||||
C1 = Classes(
|
||||
name='Math5',
|
||||
|
||||
)
|
||||
C1.save()
|
||||
|
||||
C2 = Classes(
|
||||
name='English',
|
||||
)
|
||||
C2.save()
|
||||
|
||||
C2.teachers = chao
|
||||
C2.students.add(raffu)
|
||||
C2.save()
|
||||
|
||||
C1.teachers = ng
|
||||
C1.students.add(raffu)
|
||||
C1.save()
|
||||
|
||||
################################################################################################################
|
||||
from api.models import Assignment, Student, Classes, Teacher
|
||||
from datetime import datetime
|
||||
|
||||
A1 = Assignment(
|
||||
name='Week1_HW',
|
||||
due_date=datetime.now(),
|
||||
|
||||
)
|
||||
A1.save()
|
||||
|
||||
A2 = Assignment(
|
||||
name='Week2_HW',
|
||||
due_date=datetime.now(),
|
||||
|
||||
)
|
||||
A2.save()
|
||||
|
||||
A3 = Assignment(
|
||||
name='Journal1',
|
||||
due_date=datetime.now(),
|
||||
)
|
||||
A3.save()
|
||||
|
||||
#classes
|
||||
math = Classes(
|
||||
name='Math5',
|
||||
|
||||
)
|
||||
math.save()
|
||||
math.assignments.add(A1)
|
||||
math.assignments.add(A2)
|
||||
math.save()
|
||||
|
||||
english = Classes(
|
||||
name='English',
|
||||
)
|
||||
english.save()
|
||||
english.assignments.add(A3)
|
||||
english.save()
|
||||
|
||||
#students
|
||||
raffu = Student(
|
||||
first_name = "Raffu",
|
||||
last_name = "Khondaker",
|
||||
student_id = 1579460,
|
||||
webmail = "2022rkhondak@tjhsst.edu",
|
||||
grade = 10,
|
||||
)
|
||||
raffu.save()
|
||||
raffu.classes.add(math)
|
||||
raffu.classes.add(english)
|
||||
raffu.save()
|
||||
|
||||
#teachers
|
||||
ng = Teacher(
|
||||
first_name = "Kim",
|
||||
last_name = "Ng",
|
||||
)
|
||||
ng.save()
|
||||
ng.classes.add(math)
|
||||
ng.save()
|
||||
|
||||
chao = Teacher(
|
||||
first_name = "Susie",
|
||||
last_name = "Lebryk-Chao",
|
||||
)
|
||||
chao.save()
|
||||
chao.classes.add(english)
|
||||
chao.save()
|
28
Website/api/migrations/0009_auto_20200606_1859.py
Normal file
28
Website/api/migrations/0009_auto_20200606_1859.py
Normal file
|
@ -0,0 +1,28 @@
|
|||
# Generated by Django 3.0.7 on 2020-06-06 18:59
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('api', '0008_auto_20200606_1839'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.RemoveField(
|
||||
model_name='classes',
|
||||
name='teachers',
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='student',
|
||||
name='assignments',
|
||||
field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='api.Assignment'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='student',
|
||||
name='classes',
|
||||
field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='api.Classes'),
|
||||
),
|
||||
]
|
40
Website/api/migrations/0010_auto_20200606_1910.py
Normal file
40
Website/api/migrations/0010_auto_20200606_1910.py
Normal file
|
@ -0,0 +1,40 @@
|
|||
# Generated by Django 3.0.7 on 2020-06-06 19:10
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('api', '0009_auto_20200606_1859'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.RemoveField(
|
||||
model_name='assignment',
|
||||
name='url',
|
||||
),
|
||||
migrations.RemoveField(
|
||||
model_name='classes',
|
||||
name='url',
|
||||
),
|
||||
migrations.RemoveField(
|
||||
model_name='student',
|
||||
name='url',
|
||||
),
|
||||
migrations.RemoveField(
|
||||
model_name='teacher',
|
||||
name='url',
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='teacher',
|
||||
name='classes',
|
||||
field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='api.Classes'),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='teacher',
|
||||
name='students',
|
||||
field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='api.Student'),
|
||||
),
|
||||
]
|
19
Website/api/migrations/0011_classes_assignments.py
Normal file
19
Website/api/migrations/0011_classes_assignments.py
Normal file
|
@ -0,0 +1,19 @@
|
|||
# Generated by Django 3.0.7 on 2020-06-06 19:16
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('api', '0010_auto_20200606_1910'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='classes',
|
||||
name='assignments',
|
||||
field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='api.Assignment'),
|
||||
),
|
||||
]
|
17
Website/api/migrations/0012_remove_student_assignments.py
Normal file
17
Website/api/migrations/0012_remove_student_assignments.py
Normal file
|
@ -0,0 +1,17 @@
|
|||
# Generated by Django 3.0.7 on 2020-06-06 19:47
|
||||
|
||||
from django.db import migrations
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('api', '0011_classes_assignments'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.RemoveField(
|
||||
model_name='student',
|
||||
name='assignments',
|
||||
),
|
||||
]
|
27
Website/api/migrations/0013_auto_20200606_2004.py
Normal file
27
Website/api/migrations/0013_auto_20200606_2004.py
Normal file
|
@ -0,0 +1,27 @@
|
|||
# Generated by Django 3.0.7 on 2020-06-06 20:04
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('api', '0012_remove_student_assignments'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.RemoveField(
|
||||
model_name='classes',
|
||||
name='assignments',
|
||||
),
|
||||
migrations.RemoveField(
|
||||
model_name='teacher',
|
||||
name='students',
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='assignment',
|
||||
name='classes',
|
||||
field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='api.Classes'),
|
||||
),
|
||||
]
|
32
Website/api/migrations/0014_auto_20200606_2005.py
Normal file
32
Website/api/migrations/0014_auto_20200606_2005.py
Normal file
|
@ -0,0 +1,32 @@
|
|||
# Generated by Django 3.0.7 on 2020-06-06 20:05
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('api', '0013_auto_20200606_2004'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.RemoveField(
|
||||
model_name='student',
|
||||
name='classes',
|
||||
),
|
||||
migrations.RemoveField(
|
||||
model_name='teacher',
|
||||
name='classes',
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='classes',
|
||||
name='students',
|
||||
field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='api.Student'),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='classes',
|
||||
name='teachers',
|
||||
field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='api.Teacher'),
|
||||
),
|
||||
]
|
32
Website/api/migrations/0015_auto_20200606_2023.py
Normal file
32
Website/api/migrations/0015_auto_20200606_2023.py
Normal file
|
@ -0,0 +1,32 @@
|
|||
# Generated by Django 3.0.7 on 2020-06-06 20:23
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('api', '0014_auto_20200606_2005'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.RemoveField(
|
||||
model_name='assignment',
|
||||
name='classes',
|
||||
),
|
||||
migrations.RemoveField(
|
||||
model_name='classes',
|
||||
name='teachers',
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='assignment',
|
||||
name='students',
|
||||
field=models.ManyToManyField(default='', through='api.Classes', to='api.Student'),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='classes',
|
||||
name='assignments',
|
||||
field=models.ForeignKey(default='', on_delete=django.db.models.deletion.CASCADE, to='api.Assignment'),
|
||||
),
|
||||
]
|
19
Website/api/migrations/0016_classes_teachers.py
Normal file
19
Website/api/migrations/0016_classes_teachers.py
Normal file
|
@ -0,0 +1,19 @@
|
|||
# Generated by Django 3.0.7 on 2020-06-06 20:24
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('api', '0015_auto_20200606_2023'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='classes',
|
||||
name='teachers',
|
||||
field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='api.Teacher'),
|
||||
),
|
||||
]
|
35
Website/api/migrations/0017_auto_20200606_2101.py
Normal file
35
Website/api/migrations/0017_auto_20200606_2101.py
Normal file
|
@ -0,0 +1,35 @@
|
|||
# Generated by Django 3.0.7 on 2020-06-06 21:01
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('api', '0016_classes_teachers'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.RemoveField(
|
||||
model_name='assignment',
|
||||
name='students',
|
||||
),
|
||||
migrations.RemoveField(
|
||||
model_name='classes',
|
||||
name='assignments',
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='classes',
|
||||
name='assignments',
|
||||
field=models.ManyToManyField(default='', to='api.Assignment'),
|
||||
),
|
||||
migrations.RemoveField(
|
||||
model_name='classes',
|
||||
name='students',
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='classes',
|
||||
name='students',
|
||||
field=models.ManyToManyField(null=True, to='api.Student'),
|
||||
),
|
||||
]
|
18
Website/api/migrations/0018_auto_20200606_2107.py
Normal file
18
Website/api/migrations/0018_auto_20200606_2107.py
Normal file
|
@ -0,0 +1,18 @@
|
|||
# Generated by Django 3.0.7 on 2020-06-06 21:07
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('api', '0017_auto_20200606_2101'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='classes',
|
||||
name='students',
|
||||
field=models.ManyToManyField(default='', to='api.Student'),
|
||||
),
|
||||
]
|
31
Website/api/migrations/0019_auto_20200606_2126.py
Normal file
31
Website/api/migrations/0019_auto_20200606_2126.py
Normal file
|
@ -0,0 +1,31 @@
|
|||
# Generated by Django 3.0.7 on 2020-06-06 21:26
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('api', '0018_auto_20200606_2107'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.RemoveField(
|
||||
model_name='classes',
|
||||
name='students',
|
||||
),
|
||||
migrations.RemoveField(
|
||||
model_name='classes',
|
||||
name='teachers',
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='student',
|
||||
name='classes',
|
||||
field=models.ManyToManyField(default='', to='api.Classes'),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='teacher',
|
||||
name='classes',
|
||||
field=models.ManyToManyField(default='', to='api.Classes'),
|
||||
),
|
||||
]
|
|
@ -1,36 +1,33 @@
|
|||
from django.db import models
|
||||
|
||||
class Assignment(models.Model):
|
||||
name=models.CharField(max_length=100)
|
||||
due_date=models.DateTimeField()
|
||||
def __str__(self):
|
||||
return '%s' % (self.name)
|
||||
|
||||
class Classes(models.Model):
|
||||
name = models.CharField(max_length=100)
|
||||
assignments = models.ManyToManyField(Assignment, default="")
|
||||
def save(self, *args, **kwargs):
|
||||
return super(Classes, self).save(*args, **kwargs)
|
||||
|
||||
class Teacher(models.Model):
|
||||
created = models.DateTimeField(auto_now_add=True)
|
||||
first_name = models.CharField(max_length=100)
|
||||
last_name = models.CharField(max_length=100)
|
||||
classes = models.ManyToManyField(Classes, default="")
|
||||
|
||||
class Student(models.Model):
|
||||
url = models.URLField()
|
||||
created = models.DateTimeField(auto_now_add=True)
|
||||
first_name = models.CharField(max_length=100)
|
||||
last_name = models.CharField(max_length=100)
|
||||
student_id = models.IntegerField(primary_key=True)
|
||||
webmail = models.EmailField(blank=True)
|
||||
grade = models.IntegerField()
|
||||
classes = models.ForeignKey('Classes', on_delete=models.CASCADE,blank=True)
|
||||
|
||||
class Teacher(models.Model):
|
||||
url = models.URLField()
|
||||
created = models.DateTimeField(auto_now_add=True)
|
||||
first_name = models.CharField(max_length=100)
|
||||
last_name = models.CharField(max_length=100)
|
||||
#student_id = models.IntegerField(primary_key=True)
|
||||
|
||||
class Classes(models.Model):
|
||||
url = models.URLField()
|
||||
name = models.CharField(max_length=100)
|
||||
teachers = models.ForeignKey('Teacher', on_delete=models.CASCADE,null=True)
|
||||
|
||||
classes = models.ManyToManyField(Classes, default="")
|
||||
def save(self, *args, **kwargs):
|
||||
return super(Classes, self).save(*args, **kwargs)
|
||||
|
||||
class Assignment(models.Model):
|
||||
url = models.URLField()
|
||||
name=models.CharField(max_length=100)
|
||||
due_date=models.DateTimeField()
|
||||
|
||||
def __str__(self):
|
||||
return '%d' % (self.name)
|
||||
return super(Student, self).save(*args, **kwargs)
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -7,26 +7,22 @@ class AssignmentSerializer(serializers.HyperlinkedModelSerializer):
|
|||
model = Assignment
|
||||
fields = ['name', 'due_date', 'url']
|
||||
|
||||
class StudentSerializer(serializers.HyperlinkedModelSerializer):
|
||||
assignments = AssignmentSerializer(many=True, read_only=True)
|
||||
class Meta:
|
||||
model = Student
|
||||
fields = ['url', 'first_name', 'last_name', 'assignments']
|
||||
|
||||
class ClassesSerializer(serializers.HyperlinkedModelSerializer):
|
||||
assignments = AssignmentSerializer(many=True, read_only=True,allow_null=True)
|
||||
students = StudentSerializer(many=True, read_only=True, allow_null=True)
|
||||
class Meta:
|
||||
model = Classes
|
||||
fields = ['url', 'name', 'students', 'assignments']
|
||||
|
||||
def create(self, validated_data):
|
||||
return Classes.objects.create(**validated_data)
|
||||
fields = ['url', 'name','assignments']
|
||||
|
||||
class StudentSerializer(serializers.HyperlinkedModelSerializer):
|
||||
classes = ClassesSerializer(many=True, read_only=True,allow_null=True)
|
||||
class Meta:
|
||||
model = Student
|
||||
fields = ['url', 'first_name', 'last_name', 'grade','webmail','student_id','classes']
|
||||
|
||||
class TeacherSerializer(serializers.ModelSerializer):
|
||||
classes = ClassesSerializer(many=True, read_only=True)
|
||||
classes = ClassesSerializer(many=True, read_only=True,allow_null=True)
|
||||
class Meta:
|
||||
model = Teacher
|
||||
fields = ['url', 'first_name', 'last_name', 'classes']
|
||||
|
||||
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
from django.urls import include, path
|
||||
from rest_framework import routers
|
||||
from api import views
|
||||
from django.contrib import admin
|
||||
|
||||
router = routers.DefaultRouter()
|
||||
router.register(r'students', views.StudentViewSet)
|
||||
|
@ -12,5 +13,7 @@ router.register(r'classes', views.ClassesViewSet)
|
|||
# Additionally, we include login URLs for the browsable API.
|
||||
urlpatterns = [
|
||||
path('', include(router.urls)),
|
||||
path('api-auth/', include('rest_framework.urls', namespace='rest_framework'))
|
||||
path('api-auth/', include('rest_framework.urls', namespace='rest_framework')),
|
||||
path('admin/', admin.site.urls),
|
||||
|
||||
]
|
Loading…
Reference in New Issue
Block a user