我是Django和Python的新手,如果这是一个非常简单的问题,我深表歉意。我正在为我的儿子小学申请。该项目的第一站是为父母提供在线访问权限,以便他们与孩子的老师进行交流,反之亦然。我创建了下面显示的模型,该模型将允许数据库中的关系,但是我需要能够使老师和家长用户以及基于他们的小组角色的访问受限。下面是我的模型代码。
基本思想是老师和父母都与学生模型有很多关系。教师将能够登录其门户并添加所属班级的学生。父母将与学生建立联系,然后学生将与老师建立联系。现在,作为用户,父母和老师可以来回发送通信。
如果这有任何意义,那么任何帮助或反馈都将非常棒。哦,我知道我需要导入auth.models,只是不知道如何或是否可以连接到老师和家长班级。谢谢你。
from django.db import models
class Student(models.Model):
student_first = models.CharField(max_length=30)
student_last = models.CharField(max_length=30)
def __str__(self):
return "%s %s" % (self.student_first, self.student_last)
class Teacher(models.Model):
teacher_first = models.CharField(max_length=30)
teacher_last = models.CharField(max_length=30)
teacher_email = models.EmailField()
students = models.ManyToManyField(Student)
def __str__(self):
return "%s %s" % (self.teacher_first, self.teacher_last)
class Parent(models.Model):
parent_first = models.CharField(max_length=30)
parent_last = models.CharField(max_length=30)
parent_email = models.EmailField()
students = models.ManyToManyField(Student)
def __str__(self):
return "%s %s" % (self.parent_first, self.parent_last)
由于教师和家长都具有相同的领域,因此我会选择一个通用模型。此外,无论是用户,以便创建一个OneToOneField
以AUTH_USER_MODEL
(提供第一,姓氏和电子邮件)。
class Profile(models.Model):
'''
Teacher or Parent
'''
user = models.OneToOneField(settings.AUTH_USER_MODEL,
primary_key=True)
students = models.ManyToManyField(Student)
只需在注册过程中将他们与适当的家长/教师组联系起来,即可按组限制访问权限。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句