Как получить весь пользовательский ввод из цикла for в Django

Я пытаюсь отобразить все созданные отделы в виде HTML входов и принять пользовательский ввод (value1, vlaue2) и обновить таблицу отделов в отношении "DepartmentID". проблема в том, что он принимает только первое значение из цикла, как получить все входы из цикла for.

шаблон

Департамент_шаблон

 <input type="submit" value="Submit" >

{% for department in departments %}

<div class="row">
  <div class="col-sm-3">
  <label>value1</label>
    <input name="value1" class="form-control" />
  </div>
</div>

<br />

<div class="row">
  <div class="col-sm-3">
  <label>value2</label>
    <input name="value2" class="form-control" />
  </div>
</div>

{% endfor %}

Views.py

def department(request):
departments = Department.objects.all()
value1 = request.POST.getlist('BUID')
value2 = request.POST.getlist('GBUID')
for department in departments:
    print(value1)
    print(value2)

context = {'departments': departments}
return render(request, 'employee/department.html', context)


------------------------------------------------------------------
Output:

['1']
['2']
['1']
['2']
------------------------------------------------------------------

------------------------------------------------------------------
What I want:

['1']
['2']      and update DepartmentID that equals to 123 with value1 = 1 value2 = 2

['3']
['4']     update DepartmentID that equals to 43534 with value1 = 3 value2 = 4
------------------------------------------------------------------

models.py

class Department(models.Model):
    DepartmentID = models.IntegerField()
    Name = models.CharField(max_length=200)
    value1= models.CharField(max_length=200, blank=True)
    value2= models.CharField(max_length=200, blank=True)

    def __str__(self):
        return self.Name

Вам нужен набор форм model formset, который создаст набор форм модели, по одной для каждого экземпляра в указанном вами кверисете. Исходя из вышесказанного, моделью является Department, а кверисет по умолчанию будет тот, который вы хотите, Department.objects.all()

Вам следует сначала прочитать документацию по моделям форм и наборам форм, если вы не знакомы с этими понятиями.

Вернуться на верх