Best way to create students information site with django -
Best way to create students information site with django -
i want create website students django.
i have learning_plan n subjects
when create student want take existing learning_plan , have automatic subjects learning_plan has, want have exam_grades different each student.
what i've done far:
class subject(models.model): name = models.charfield(max_length=60) def __unicode__(self): homecoming self.name class learningplan(models.model): name = models.charfield(max_length=60) subjects = models.manytomanyfield(subject, through='exam') def __unicode__(self): homecoming self.name class student(models.model): name = models.charfield(max_length=60) learning_plan = models.foreignkey(learningplan) def __unicode__(self): homecoming self.name class exam(models.model): subject = models.foreignkey(subject) learning_plan = models.foreignkey(learningplan) exam_grade = models.integerfield()
i know want not know how it. want have plan subjects: subject1, subject2, subject3 ... , when add together new pupil select plan , see subjects grade associated pupil , can add together exam_grade each of subjects (subeject1, subject2, subject3 ...) , grades same subject different different students. not know how implement this.
if have pupil , (her) subjects, utilize this:
student.learning_plan.subjects.all()
exam grades simple too, it's improve add together related_name
first:
class exam(models.model): subject = models.foreignkey(subject) learning_plan = models.foreignkey(learningplan, related_name='exams') exam_grade = models.integerfield()
now can student's exams:
student.learning_plan.exams.all()
and if want add together exam, it's still simple:
new_exam = exam.objects.create(subject=some_subject, learning_plan=some_lp, exam_grade=98) student.learning_plan.exams.add(new_exam)
django
Comments
Post a Comment