2010-11-16 5 views

Répondre

1

Créer une classe Instructeurs qui hériteraient des utilisateurs. Dans cette classe, fournissez la relation plusieurs-à-plusieurs. Vous pouvez également utiliser le module de profil pour identifier la séparation.

Il existe good examples of both here. EDIT: Il existe également un good post by James Bennett here.

0

Vous ne pouvez pas pointer Sujet au modèle Utilisateur-qui-est-Instructeur, il ne peut pas être exprimé en SQL.

Ce que vous pouvez faire est par ex. Pour pointer Sujet au modèle Utilisateur, assurez-vous dans votre code que vous créez uniquement des instances de sujet pour les utilisateurs membres du groupe Instructeurs.

1

Je n'utiliserais pas d'héritages ici. Il suffit de créer des modèles qui pointent vers l'utilisateur:

class Instructor(models.Model): 
    user = models.OneToOneField(User) 
    # other fields 
    subjects = models.ManyToManyField('Subject') 

class Student(models.Model): 
    # other fields 
    user = models.OneToOneField(User) 

class Subject(models.Model): 
    name = models.CharField(max_length=40) 

Ceci a l'avantage de maintenir la fonctionnalité utilisateur commune séparée de l'instructeur et les fonctions des élèves. Il n'y a vraiment aucune raison de traiter les instructeurs ou les étudiants comme Utilisateurs.

+0

Dans ce cas, la connexion et donc on ne fonctionnerait pas? – matiit

Questions connexes