Как сохранить несколько записей с помощью цикла for - PullRequest
0 голосов
/ 05 февраля 2020

Я бы хотел, чтобы ученики указывали, что каждый ученик оценивает учеников как , как должна выглядеть форма .

{% for student in students %}

                <input type="text" name="child" value="{{ student.child.id }}" class="form-group" hidden="hidden"></input>
                <tr>
                    <td>{{student.reg_no}}</td>
                    <td>{{ student.child }}</td>
                    <td><input type="number" name="marks" class="form-group" min="0"></input></td>
                </tr>
                {% endfor %}

my model.py

class Mark(models.Model):
    date_created = models.DateTimeField(default=timezone.now)
    user = models.ForeignKey(User, on_delete = models.SET_NULL, blank=True, null=True,)
    child = models.ForeignKey(Student, on_delete = models.CASCADE,)
    subject = models.ForeignKey(Subject, on_delete = models.CASCADE,)
    marks_class = models.ForeignKey(Classe, on_delete = models.CASCADE,)
    stream = models.ForeignKey(Stream, on_delete = models.CASCADE,)
    term = models.ForeignKey(Term, on_delete = models.CASCADE,)
    exam_set = models.ForeignKey(ExamSet, on_delete = models.CASCADE,)
    year = models.IntegerField(default=current_year, validators=[MinValueValidator(2020), max_value_current_year])
    marks = models.IntegerField(validators=[MinValueValidator(0), MaxValueValidator(100)])

Я выбрал учеников для ввода оценок, подобных этой

students = ClassInformation.objects.filter(year_of_registration=year, current_class=marks_class, stream=stream).order_by('child')

Я назначил другие значения, такие как

Сначала выбраны значения

if request.method == 'POST':
    for student in students:
        form = MarkCreateForm(request.POST,)
        if form.is_valid():
            form.instance.subject = subject
            form.instance.marks_class = marks_class
            form.instance.stream = stream
            form.instance.year = year
            form.instance.term = term
            form.instance.exam_set = exam_set

            try:
                form.save()
                messages.success(request, f'Marks Submitted Successfully')
                return redirect('choose-subject')
            except:
                messages.warning(request, f'Marks already entered for some students')

теперь проблема в том, что последняя запись только отправляется, и наборы форм, кажется, не очень хорошо справляются с этой задачей

Я кое-что понял, но ответа пока нет. Как назначить значение для поля формы django в шаблоне?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...