【发布时间】:2018-11-14 11:04:37
【问题描述】:
我正在开发一个结果处理网站,我一直在尝试更新表格每一行中的多个字段。用户应该能够输入更新的 CA 分数和考试分数值,并且它应该更新每个学生已提交的 CA 分数和考试分数值。 image of page
有人问同样的问题here 试图更新单个字段。我尝试使用那里提供的解决方案,但无法满足我的需要
模板
<form action="" method="post"> {% csrf_token %}
{% for student in students %}
<tr>
<td>{{ student.id_number }}</td>
<td>
<input type="number" value="{{ student.ca }}" name="student_{{ student.id }}">
</td>
<td>
<input type="number" value="{{ student.exam }}" name="student_{{ student.id }}">
</td>
</tr>
{% endfor %}
<tr>
<td><input type="submit" value="Save"></td>
</tr>
</tbody>
</table>
</form>
查看
def add_score_for(request, id):
if request.method == 'GET':
students = TakenCourse.objects.filter(course__allocated_course__lecturer__pk=request.user.id).filter(course__id=id)
context = { "students":students}
return render(request, 'result/add_score_for.html', context)
if request.method == 'POST':
data = request.POST.dict()
data.pop('csrfmiddlewaretoken', None)
for i in data.items():
obj = TakenCourse.objects.get(id=i[0].split("_")[1])
if not str(obj.ca) == str(i[1]): # if i do i[2] trying to get for exams it raise 'tuple index out of range'
obj.ca = i[1]
obj.save()
【问题讨论】:
标签: django django-models django-templates