我有数据库和以下课程:
在 models.py
class Student(models.Model):
name=models.CharField(max_length=200)
surname=models.CharField(max_length=500)
class Class101(models.Model):
name=models.CharField(max_length=200)
math=models.DecimalField(max_length=200)
english=models.DecimalField(max_length=200)
在 views.py
total_grade=Class101.objects.filter(Q(math__gt=70) & Q(english__gt=58))
context ={'tg':total_grade}
在 template.html
{% for grade in tg %}
<p> {{grade.name}} </p>
{% endfor %}
它列出了学生的名字,但是我想放在模板中:
{{grade.name}} - {{grade.surname}}
{{grade.surname}}
姓来自模特学生
此代码不显示姓,而仅显示name作为类Class101中的名称。如何在两个模型具有相同名称的另一个模型中显示姓氏?
在这种情况下,您应该在和模型之间具有ForeignKey关系Class101
,Student
如下所示:
class Student(models.Model):
name=models.CharField(max_length=200)
surname=models.CharField(max_length=500)
class Class(models.Model):
code = models.CharField(max_length=100)
student=models.ForeignKey(Student, on_delete=models.CASCADE)
math=models.DecimalField(max_length=200)
english=models.DecimalField(max_length=200)
然后,您可以Student
在模板中使用值:
{% for grade in tg %}
<p> {{grade.student.name}} - {{grade.student.surename}} </p>
{% endfor %}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句