Django使用auth.User创建多个配置文件。标准学生教师示例

Django使用auth.User创建多个配置文件。标准学生教师示例,django,relational-database,Django,Relational Database,在django中创建2个概要文件是否正确?我希望学生能接触到他的老师,老师也能接触到他的学生。我的意思是,如果我以学生身份登录,我想准确浏览教我的老师,如果我以教师身份登录,我想准确浏览我教的学生。这就是为什么我不能为老师和学生创建一个档案 class Teacher(models.Model): ... user = models.OneToOneField(User) class Student(models.Model): ... user = model

在django中创建2个概要文件是否正确?我希望学生能接触到他的老师,老师也能接触到他的学生。我的意思是,如果我以学生身份登录,我想准确浏览教我的老师,如果我以教师身份登录,我想准确浏览我教的学生。这就是为什么我不能为老师和学生创建一个档案

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

class Student(models.Model):
    ...
    user = models.OneToOneField(User)
    teacher = models.ManyToManyField(Teacher)
如果是这样,我的AUTH_PROFILE_模块应该是这样的吗

AUTH_PROFILE_MODULE = 'school.Teacher, school.Student'
如有任何答复,我将不胜感激。
谢谢

您可以使用单个配置文件

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()
teacher=People.objects.get(pk=)
学生=人.对象.过滤器(教师=教师)
student=People.objects.get(pk=)
教师=学生。教师。全体()

您可以使用单个配置文件

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()
teacher=People.objects.get(pk=)
学生=人.对象.过滤器(教师=教师)
student=People.objects.get(pk=)
教师=学生。教师。全体()

非常感谢。我想这是正确的方法?或者两者在某些情况下都是正确的?我同意这取决于具体情况,非常感谢你。我想这是正确的方法?或者两者在某些情况下都是正确的?我同意这取决于具体情况