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 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.

