This is my progress so far :
class Utilisateur(models.Model):
user = models.OneToOneField(User)
role = models.CharField(choices=ROLES,blank=False,max_length=50)
managed_by = models.ManyToManyField('self',
related_name='managers',
symmetrical=False,
blank=True)
course = models.ManyToManyField('Course') #can I do it? (question 2)
module = models.ManyToManyField('Module', through='UtilisateurModule')
class Course(models.Model):
titre = models.CharField(blank=False,max_length=100)
class Module(models.Model):
titre = models.CharField(blank=False,max_length=100)
course = models.ManyToManyField(Course, through='ModuleCourse')
class ModuleCourse (models.Model):
module = models.ForeignKey(Module)
course = models.ForeignKey(Course)
order = models.IntegerField(blank=False)
class UtilisateurModule (models.Model):
user = models.ForeignKey(Utilisateur)
module = models.ForeignKey(Module)
score = models.IntegerField(blank=False)
*My questions :*
*1*. How to get the scores of a user by module and display them by course,
like that :
-Course A
*Module 1
score : 5
*module 2 :
score : 8
...
-Course B
*Module 1:
score 7
....
*2*. I need to add a many to many relationship between course and user
because I wouldnt tell which course affected to which user only by
affecting a module to him knowing that the module can belong to several
courses, is it correct to add a parcours =
models.ManyToManyField('Parcours') in Utilisateur?
2013/8/26 slim <[email protected]>
> I'm trying to build an e-learning platform
> I have *users (Utilisateur) *who can take several *courses* ,each course
> have several *modules* and a module can be in several courses
> a user can be a student or teacher or admin, a student is "managed" by a
> teacher or several and a teacher can also be managed by a teacher (if he
> is a researcher) ,teachers are managed by admins
>
> this is my conception :
>
>
> <https://lh5.googleusercontent.com/-0IKqEtcoluA/Uhs2f2Mqh9I/AAAAAAAAACg/chYFCfSIIeM/s1600/elearning_model.png>
>
> I'm not familiar with many_to_many and through concept, please correct me
> this is my django models :
>
> class Utilisateur(models.Model):
> user = models.OneToOneField(User)
> role = models.CharField(choices=ROLES,blank=False,max_length=50)
> managed_by = models.ManyToManyField('self',
> through='UtilisateurRelationship', symmetrical=False, blank=True)
>
>
> class UtilisateurRelationship(models.Model):
> managed = models.ForeignKey(Utilisateur)
> manager = models.ForeignKey(Utilisateur)
>
>
>
> class Course(models.Model):
> titre = models.CharField(blank=False,max_length=100)
>
> class ModuleCourse (models.Model):
> module = models.ForeignKey(Module)
> course = models.ForeignKey(Course)
> order = models.IntegerField(blank=False)
>
> class Module(models.Model):
> titre = models.CharField(blank=False,max_length=100)
> belong_to = models.ManyToManyField(Course, through='ModuleCourse')
>
> class UtilisateurModule (models.Model):
> user = models.ForeignKey(Utilisateur)
> module = models.ForeignKey(Module)
> score = models.IntegerField(blank=False)
>
>
>
> --
> You received this message because you are subscribed to a topic in the
> Google Groups "Django users" group.
> To unsubscribe from this topic, visit
> https://groups.google.com/d/topic/django-users/SCS2oMa0P-M/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to
> [email protected].
> To post to this group, send email to [email protected].
> Visit this group at http://groups.google.com/group/django-users.
> For more options, visit https://groups.google.com/groups/opt_out.
>
--
You received this message because you are subscribed to the Google Groups
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/django-users.
For more options, visit https://groups.google.com/groups/opt_out.