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

Popular posts from this blog

How do I check if an insert was successful with MySQLdb in Python? -

delphi - blogger via idHTTP : error 400 bad request -

postgresql - ERROR: operator is not unique: unknown + unknown -