python - 如何在 Django 中表示学生与讲师的关系?

标签 python mysql django

所以我正在尝试制作一个网络应用程序,旨在帮助学生和老师之间的互动。

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

  1. 一名教师可以拥有许多学生(用户)。
  2. 一名学生只能有一名用户作为他的老师。

换句话说,教师应该拥有尽可能多的学生,而每个学生只能有一名教师。

我应该如何在 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/

相关文章:

python - 从另一个 python 脚本调用一个 python 脚本并等待单元执行完成

mysql - 如何在 Mosaic 中创建与任何外部数据库的连接?

Django Rest Swagger APIView

python - 我在 django 中不断收到以下错误 : "UnboundLocalError at/myapp/"

python - SharePoint在线: Get site user id using Office365-REST-Python-Client library

python - 有条件地创建(填充)一列,该列必须处理数据框中的行以匹配条件

mysql - Ruby 和 mysql2 : Looping Until Connection is Error Free

mysql - WordPress mysql 查询

python - docker 中的 django 迁移权限被拒绝

python - 如何使用更多信息记录 APScheduler 警告?