Как получить весь пользовательский ввод из цикла 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()
Вам следует сначала прочитать документацию по моделям форм и наборам форм, если вы не знакомы с этими понятиями.