I\'m trying to build an e-learning platform
I have users (Utilisateur) who can take several courses ,each course h
Ad 2. Yes, it's correct. But you have to keep in mind that when user starts some courses, and some of them have the same module(s) you could store only one mark for those modules. To prevent this you would need to create class like this:
class UtilisateurCourseModule(models.Model):
user = models.ForeignKey(Utilisateur)
course = models.ForeignKey(Course)
module = models.ForeignKey(Module)
score = models.IntegerField()
Ad 1.
for c in user.course.all(): # why course not courses?
print "Course {}".format(c.titre)
for m in c.module_set.all().order_by('modulecourse__order')
print "Module {}".format(m.titre)
try:
print 'score: ', UtilisateurModule.objects.get(user=user,module=m).score
catch UtilisateurModule.DoesNotExits:
print 'score: ---'