Skip to content
Snippets Groups Projects
Commit 26fd434f authored by Jakob Dieterle's avatar Jakob Dieterle Committed by Jakob Dieterle
Browse files

exams now manytomany field, problems resolved

parent 7e9264d1
No related branches found
No related tags found
1 merge request!244Resolve "Make exam a many to many field on StudentInfo model"
......@@ -26,6 +26,7 @@ def random_matrikel_no() -> str:
return str(10_000_000 + randrange(90_000_000))
<<<<<<< HEAD
<<<<<<< HEAD
class ExamInfo(models.Model):
exam = models.ForeignKey(ExamType,
......@@ -34,6 +35,10 @@ class ExamInfo(models.Model):
=======
class StudentsExam(models.Model):
exam = models.ForeignKey('ExamType',
=======
class ExamInfo(models.Model):
exam = models.ForeignKey(ExamType,
>>>>>>> exams now manytomany field, problems resolved
on_delete=models.CASCADE,
related_name='exam',
>>>>>>> added new many-to-many field and wrapper class
......@@ -41,11 +46,15 @@ class StudentsExam(models.Model):
student = models.ForeignKey('StudentInfo',
on_delete=models.CASCADE,
<<<<<<< HEAD
<<<<<<< HEAD
related_name='exams',
=======
related_name='students',
>>>>>>> added new many-to-many field and wrapper class
=======
related_name='exams',
>>>>>>> exams now manytomany field, problems resolved
null=False)
total_score = models.PositiveIntegerField(default=0)
......@@ -83,11 +92,15 @@ class StudentInfo(models.Model):
associated user model.
Attributes:
<<<<<<< HEAD
<<<<<<< HEAD
exams (ManyToManyField):
=======
exam (ManyToManyField):
>>>>>>> added new many-to-many field and wrapper class
=======
exams (ManyToManyField):
>>>>>>> exams now manytomany field, problems resolved
Module the student wants te be graded in, or different exercise
assignments for one module.
......@@ -105,6 +118,7 @@ class StudentInfo(models.Model):
max_length=30,
default=random_matrikel_no)
<<<<<<< HEAD
<<<<<<< HEAD
=======
exams = models.ManyToManyField(StudentsExam,
......@@ -112,11 +126,14 @@ class StudentInfo(models.Model):
related_name='exams',
)
>>>>>>> added new many-to-many field and wrapper class
=======
>>>>>>> exams now manytomany field, problems resolved
user = models.OneToOneField(get_user_model(),
on_delete=models.CASCADE,
related_name='student')
def add_exam(self, exam):
<<<<<<< HEAD
<<<<<<< HEAD
exam_info = ExamInfo(exam=exam, student=self)
exam_info.save()
......@@ -126,6 +143,11 @@ class StudentInfo(models.Model):
students_exam.exam = exam
students_exam.student = self
self.exams.add(students_exam)
=======
exam_info = ExamInfo(exam=exam, student=self)
exam_info.save()
self.exams.add(exam_info)
>>>>>>> exams now manytomany field, problems resolved
@classmethod
def get_annotated_score_submission_list(cls) -> QuerySet:
......
from rest_framework import serializers
<<<<<<< HEAD
from core.models import StudentInfo, ExamInfo
from core.serializers import DynamicFieldsModelSerializer, ExamSerializer
=======
from core.models import StudentInfo
from core.serializers import DynamicFieldsModelSerializer, ExamInfoListSerializer
>>>>>>> exams now manytomany field, problems resolved
from core.serializers.submission import (SubmissionListSerializer,
SubmissionNoTextFieldsSerializer,
SubmissionNoTypeSerializer)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment