Table 与 django 模型的关系
Table relations with django models
我有英语、生物等学科的模型。另一方面,我有一个名为教师的模型,用于存储教师的记录。我正在使用 Django,问题是我不知道如何在教师和正在尝试的主题之间创建多对多关系实现就是分配教师的责任。我试图将英语、生物学和其他模型制作成一个名为 Subjects 的模型,后来使用 Manytomanyfield,但频率完全不同,我堆叠起来。下面列出了我的一些模型。
`class 英文(models.Model):
学生ID = models.IntegerField()
l_1 = models.DecimalField(max_digits=5, decimal_places=2, default=0)
s_1 = models.DecimalField(max_digits=5, decimal_places=2, default=0)
r_1 = models.DecimalField(max_digits=5, decimal_places=2, default=0)
w_1 = models.DecimalField(max_digits=5, decimal_places=2, default=0)
hw_1 = models.DecimalField(max_digits=5, decimal_places=2, default=0)
t_1 = models.DecimalField(max_digits=5, decimal_places=2, default=0)
p_1 = models.DecimalField(max_digits=5, decimal_places=2, default=0)
l_2 = models.DecimalField(max_digits=5, decimal_places=2, default=0)
s_2 = models.DecimalField(max_digits=5, decimal_places=2, default=0)
r_2 = models.DecimalField(max_digits=5, decimal_places=2, default=0)
w_2 = models.DecimalField(max_digits=5, decimal_places=2, default=0)
hw_2 = models.DecimalField(max_digits=5, decimal_places=2, default=0)
t_2 = models.DecimalField(max_digits=5, decimal_places=2, default=0)
p_2 = models.DecimalField(max_digits=5, decimal_places=2, default=0)
def get_mark_30_first(self):
sum = self.l_1+self.s_1+ self.r_1 + self.w_1 + self.hw_1 + self.t_1 +self.p_1
return sum
def get_mark_30_second(self):
sum = self.l_2+self.s_2+ self.r_2 + self.w_2 + self.hw_2 + self.t_2 +self.p_2
return sum
def getMark_60(self):
return self.get_mark_30_second()+self.get_mark_30_first()`
.......
class Biology(models.Model):
studentID = models.IntegerField()
l_2 = models.DecimalField(max_digits=5, decimal_places=2, default=0)
cw_1 = models.DecimalField(max_digits=5, decimal_places=2, default=0)
hw_1 = models.DecimalField(max_digits=5, decimal_places=2, default=0)
hw_2 = models.DecimalField(max_digits=5, decimal_places=2, default=0)
l_1 = models.DecimalField(max_digits=5, decimal_places=2, default=0)
pro_1 = models.DecimalField(max_digits=5, decimal_places=2, default=0)
pn_1 = models.DecimalField(max_digits=5, decimal_places=2, default=0)
t_1 = models.DecimalField(max_digits=5, decimal_places=2, default=0)
cw_2 = models.DecimalField(max_digits=5, decimal_places=2, default=0)
cw_3 = models.DecimalField(max_digits=5, decimal_places=2, default=0)
hw_3 = models.DecimalField(max_digits=5, decimal_places=2, default=0)
pn_2 = models.DecimalField(max_digits=5, decimal_places=2, default=0)
t_2 = models.DecimalField(max_digits=5, decimal_places=2, default=0)
pro_2 = models.DecimalField(max_digits=5, decimal_places=2, default=0)
如果您在英语、生物和其他学科的模型中使用外键或教师模型的多对多领域怎么样?
我有英语、生物等学科的模型。另一方面,我有一个名为教师的模型,用于存储教师的记录。我正在使用 Django,问题是我不知道如何在教师和正在尝试的主题之间创建多对多关系实现就是分配教师的责任。我试图将英语、生物学和其他模型制作成一个名为 Subjects 的模型,后来使用 Manytomanyfield,但频率完全不同,我堆叠起来。下面列出了我的一些模型。
`class 英文(models.Model): 学生ID = models.IntegerField()
l_1 = models.DecimalField(max_digits=5, decimal_places=2, default=0)
s_1 = models.DecimalField(max_digits=5, decimal_places=2, default=0)
r_1 = models.DecimalField(max_digits=5, decimal_places=2, default=0)
w_1 = models.DecimalField(max_digits=5, decimal_places=2, default=0)
hw_1 = models.DecimalField(max_digits=5, decimal_places=2, default=0)
t_1 = models.DecimalField(max_digits=5, decimal_places=2, default=0)
p_1 = models.DecimalField(max_digits=5, decimal_places=2, default=0)
l_2 = models.DecimalField(max_digits=5, decimal_places=2, default=0)
s_2 = models.DecimalField(max_digits=5, decimal_places=2, default=0)
r_2 = models.DecimalField(max_digits=5, decimal_places=2, default=0)
w_2 = models.DecimalField(max_digits=5, decimal_places=2, default=0)
hw_2 = models.DecimalField(max_digits=5, decimal_places=2, default=0)
t_2 = models.DecimalField(max_digits=5, decimal_places=2, default=0)
p_2 = models.DecimalField(max_digits=5, decimal_places=2, default=0)
def get_mark_30_first(self):
sum = self.l_1+self.s_1+ self.r_1 + self.w_1 + self.hw_1 + self.t_1 +self.p_1
return sum
def get_mark_30_second(self):
sum = self.l_2+self.s_2+ self.r_2 + self.w_2 + self.hw_2 + self.t_2 +self.p_2
return sum
def getMark_60(self):
return self.get_mark_30_second()+self.get_mark_30_first()`
.......
class Biology(models.Model):
studentID = models.IntegerField()
l_2 = models.DecimalField(max_digits=5, decimal_places=2, default=0)
cw_1 = models.DecimalField(max_digits=5, decimal_places=2, default=0)
hw_1 = models.DecimalField(max_digits=5, decimal_places=2, default=0)
hw_2 = models.DecimalField(max_digits=5, decimal_places=2, default=0)
l_1 = models.DecimalField(max_digits=5, decimal_places=2, default=0)
pro_1 = models.DecimalField(max_digits=5, decimal_places=2, default=0)
pn_1 = models.DecimalField(max_digits=5, decimal_places=2, default=0)
t_1 = models.DecimalField(max_digits=5, decimal_places=2, default=0)
cw_2 = models.DecimalField(max_digits=5, decimal_places=2, default=0)
cw_3 = models.DecimalField(max_digits=5, decimal_places=2, default=0)
hw_3 = models.DecimalField(max_digits=5, decimal_places=2, default=0)
pn_2 = models.DecimalField(max_digits=5, decimal_places=2, default=0)
t_2 = models.DecimalField(max_digits=5, decimal_places=2, default=0)
pro_2 = models.DecimalField(max_digits=5, decimal_places=2, default=0)
如果您在英语、生物和其他学科的模型中使用外键或教师模型的多对多领域怎么样?