我如何在Django中代表学生讲师的关系?

时间:2017-03-08 19:12:00

标签: python mysql django

所以我试图创建一个旨在帮助学生和教师之间互动的网络应用程序。

但是,我需要知道如何在Django中构建关系模型。以下是您应该了解的两件事:

  1. 教师可以让很多学生(用户)在他或她之下。
  2. 学生只能有一名用户作为他的老师。
  3. 换句话说,教师应尽可能多的学生,而每个学生只能有一名教师。

    我应该如何在Django中表示这一点?什么是管理这种关系的最佳方式?对于后一个问题,我正在考虑创建一个如下所示的类:

    class Relationship(models.Model):
         ##student and lecturer models shall inherit the User class; hence, the
    
    
         student = models.ForeignKey(User, related_name = 'lecturer_set')
         lecturer = models.ForeignKey(User, related_name = 'student_set')
    
         class Meta:
             unique_together = ('student', 'lecturer')
    
    PS:我知道上面的课可能是错的。试着解释我需要在Relationship类中实现什么。

1 个答案:

答案 0 :(得分:1)

这是一个标准的一对多关系,它由一个简单的ForeignKey在Django中表示。

class Student(models.Model):
    teacher = models.ForeignKey(Teacher)

根本不需要关系模型。