所以我正在尝试制作一个网络应用程序,旨在帮助学生和老师之间的互动。
但是,我需要知道如何在 Django 中构建关系模型。以下是您应该了解的两件事:
- 一名教师可以拥有许多学生(用户)。
- 一名学生只能有一名用户作为他的老师。
换句话说,教师应该拥有尽可能多的学生,而每个学生只能有一名教师。
我应该如何在 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:我知道上面的类(class)可能是错误的。只是想解释我需要在关系类中实现什么。
最佳答案
这是一个标准的一对多关系,在 Django 中用一个简单的外键来表示。
class Student(models.Model):
teacher = models.ForeignKey(Teacher)
您根本不需要关系模型。
关于python - 如何在 Django 中表示学生与讲师的关系?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42679939/