【发布时间】:2021-11-07 17:39:19
【问题描述】:
我使用单个用户模型进行身份验证并使用用户模型创建多个“类型”帐户。每种类型都有不同的仪表板,因此要显示不同的内容。
Organization
-> Teacher
-> Student
问 - 我想在组织帐户中列出教师及其对应的学生?它是一个 listView,所以我想知道如何使用 revere 关系列出组织帐户中特定教师下的所有学生?
class User(AbstractUser):
...
class Organization(models.Model):
user_id = models.OneToOneField(
settings.AUTH_USER_MODEL, on_delete=models.CASCADE, related_name='superAdmin')
...
class Teacher(models.Model):
user_id = models.OneToOneField(
settings.AUTH_USER_MODEL, on_delete=models.CASCADE, related_name='faculty')
super_admin_id = models.ForeignKey(
SuperAdmin, on_delete=models.CASCADE, related_name='faculty')
...
class Student(models.Model):
user_id = models.OneToOneField(
settings.AUTH_USER_MODEL, on_delete=models.CASCADE, related_name='user')
faculty_id = models.ForeignKey(
Teacher, on_delete=models.CASCADE, related_name='student')
...
如果对如何改进现有模型架构有任何建议,我也想知道。
【问题讨论】:
-
嗨!你能展示所有相关的模型吗?学生与老师有什么关系?
-
@BrianD,学生与老师发生了关系。我的不好,我把老师模型的名字弄错了。修复它
标签: django django-models django-templates django-queryset