gpt4 book ai didi

python - 如何在 Django 中创建多个条目?

转载 作者:行者123 更新时间:2023-12-01 04:40:22 24 4
gpt4 key购买 nike

我正在尝试建立一个评分系统。我有一个名为 Score 的类(class),其中列出了学生的所有分数。

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()

该 View 当前传递两个对象,student_listsubject_list,它们携带特定类(class)的学生人数以及登录教师所修科目的数量。这将使他能够选择为该特定学生群体评分的科目。

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 中保存了一行。更具体地说,我保存数据的方式是否错误?我必须使用数组来解决此类问题吗?

最佳答案

确实有很多方法可以解决这个问题。例如,您可以简单地在 View 中处理 html 表单,在其中手动创建或更新所有 ORM 实例。

我相信,仔细阅读 Django forms 对您会非常有益。和 modelforms 。通过在 Score 模型和任何其他模型上使用模型表单,可以轻松完成上述任务。

还有this answer解释如何在单个 post 请求上处理多个 django 表单。

关于python - 如何在 Django 中创建多个条目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30802906/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com