无法将动态表单条目保存到数据库。它仅接受最后一个条目并保存到数据库中。 这是代码: 查看
def dynamicRow (request, *args, **kwargs):
form = dynamicRow_Form(request.POST or None)
template_name = 'cvp/rowdata.html'
### Below will generate the FORM based on SEQ number.
if request.method == 'POST':
if form.is_valid():
print("NO of ROW: {}".format(request.POST['totalnum']))
no_of_rows = int(request.POST.get('totalnum'))
list_of_rows = [dynamicRow_Form() for i in range(no_of_rows)]
args = {'forms': list_of_rows}
for i in range(len(args['forms'])):
i = dynamicRow_Form(request.POST)
print("FORM ROWS: {}".format(i.is_valid()))
if i.is_valid():
print("HOSTNAME: {}".format(i.cleaned_data['hostname']))
i.save()
messages.success(request, 'Successfully stored data into database.')
continue
else:
messages.error(request, form.errors)
else:
form = dynamicRow_Form()
return render(request, template_name, {'form': form })
如果No_of_row为1,则保存正确;如果No_of_row多于1,则仅获取最后一个条目并将数据保存到DB中。逻辑是否正确?不知道什么是不正确的。