Django,需要一些指定的用户组

时间:2010-11-16 17:38:28

标签: django

我需要让我们说教师,学生等等。 两组都是用户,可以登录等。 但是,例如,教师需要与模型主题有多对多的关系。 如何实现?

3 个答案:

答案 0 :(得分:1)

创建一个将继承自Users的类教师。在这个类中提供了多对多关系。您还可以使用配置文件模块来识别分离。

good examples of both here

编辑:还有good post by James Bennett here

答案 1 :(得分:1)

我不会在这里使用继承者。只需创建指向用户的模型:

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)

这有利于将通用用户功能与教师和学生功能分开。实际上没有理由将教师或学生视为用户。

答案 2 :(得分:0)

您不能将Subject指向User-who-is-Instructor模型,它不能在SQL中表达。

你可以做的是例如指向用户模型的主题,在您的代码中确保您只为作为教师组成员的用户创建主题实例。