【发布时间】:2015-06-12 12:19:14
【问题描述】:
我正在尝试建立一个评分系统。我有一个名为Score 的类,它列出了所有学生的分数。
class Score(Base):
student = models.ForeignKey(Usr, limit_choices_to={'user_type': 'Student'}, related_name='scored')
subject = models.ForeignKey(Subject)
teacher = models.ForeignKey(Usr, limit_choices_to={'user_type': 'Teacher'}, related_name='marked')
exam = models.CharField(max_length=50)
exam_date = models.DateField()
score = models.IntegerField()
out_of = models.IntegerField()
视图当前传递了两个对象,student_list 和subject_list,它们携带特定班级的学生人数,以及登录的教师学习的科目数。这将允许他选择他为该特定学生群体标记的科目。
def Edit(request, pk):
this_klass = Klass.objects.get(id=pk)
student_list = this_klass.kara_pore.all()
subject_list = request.user.teaches.subject.all
return render(request, "grades/edit.html", {'student_list': student_list, 'subject_list': subject_list})
模板显示一个表格,其中最左侧的列是学生列表,然后下一列是用于提交分数的文本字段。我已将文本字段命名为相应学生的id,希望这有助于我在保存分数的同时参考它们。
{% extends "base.html" %}
{% block body %}
<form method="POST" action="process/"> {% csrf_token %}
<select name="sub">
{% for subject in subject_list %}
<option value="{{ subject }}">{{ subject }}</option>
{% endfor %}
</select>
<br/>
{% for student in student_list %}
{{ student }}<input type="text" name="{{ student.student_id}}"/> <br/>
{% endfor %}
<input type="submit" value="Submit"/>
</form>
{% endblock %}
我目前不知道如何处理分数输入并将它们保存在Score 表中以参考特定学生。到目前为止,我只在 Django 中保存了一行。更具体地说,我是否以错误的方式保存数据?我必须使用数组来解决这类问题吗?
【问题讨论】: