1

在 django 中创建 2 个配置文件是否正确?我希望学生可以接触到他的老师,也希望老师也可以接触到他的学生。我的意思是,如果我以学生身份登录,我想准确浏览教我的老师,如果我以教师身份登录,我想准确浏览我教过的学生。这就是我宁愿不能为教师和学生创建一个个人资料的方式。

class Teacher(models.Model):
    ...
    user = models.OneToOneField(User)

class Student(models.Model):
    ...
    user = models.OneToOneField(User)
    teacher = models.ManyToManyField(Teacher)

如果是这样,我的 AUTH_PROFILE_MODULE 应该是这样的吗?

AUTH_PROFILE_MODULE = 'school.Teacher, school.Student'

将不胜感激任何答案。谢谢!

4

1 回答 1

1

您可以使用单个配置文件;

class People(models.Model):
    user = models.ForeignKey(User)
    teachers = models.ManyToManyField("self")

然后您可以访问必要的信息;

teacher = People.objects.get(pk=<teacher_pk>)
students = People.objects.filter(teachers=teacher)

student = People.objects.get(pk=<student_pk>)
teachers = student.teachers.all()
于 2012-09-07T11:01:59.133 回答