1

djangoで2つのプロファイルを作成する正しい方法ですか?私は、生徒が自分の教師にアクセスできるようにし、教師も自分の生徒にアクセスできるようにしたいと考えています。つまり、学生としてログインする場合は、教えてくれる教師を正確に閲覧したいのですが、教師としてログインする場合は、教えている教師を正確に閲覧したいのです。そういうわけで、私はむしろ教師と生徒の両方に対して1つのプロファイルを作成することはできません。

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 に答える