【发布时间】:2020-05-01 06:53:05
【问题描述】:
我有 3 个班级,我想根据 3 个班级的标准过滤它们。我对 django 非常陌生,尤其是模型。需要你的帮助。 Student、group 和 nondemandgroup 是我的 Db 中的表。
class Students():
name=models.CharField(max_length=200)
surname=models.CharField(max_length=200)
class Group20():
name=models.CharField(max_length=200)
studentss=models.ManyToManyField(Students)
math=models.DecimalField(decimal_places=2,max_digits=1000)
english=models.DecimalField(decimal_places=2,max_digits=1000)
class Nondemandgroup():
name=models.CharField(max_length=200)
studentss=models.ManyToManyField(Students)
acting=models.DecimalField(decimal_places=2,max_digits=1000)
cooking=models.DecimalField(decimal_places=2,max_digits=1000)
我想获取最终成绩符合以下标准的学生列表:
final_grade = group20.objects.filter(math__gt=60, ((math+english+acting)/3)__gt=70)
acting 在nondemandgroup 类内,所以我的final_grade 不起作用,它说no such column as acting。
如何让代理栏目发挥作用?我尝试了外键,但它不起作用并给出错误。
或者我应该创建一个新模型并在其中过滤我将创建 3 个模型的外键?
我很困惑,因为我对 Django 很陌生,模型也很混乱。探索了网络,但在我的情况下,我误解了 smth,公式不起作用。
【问题讨论】:
标签: django django-models