Python 使用django-tables2表单将所选内容发送到另一个表单-不保存任何内容?

Python 使用django-tables2表单将所选内容发送到另一个表单-不保存任何内容?,python,django,django-forms,django-tables2,Python,Django,Django Forms,Django Tables2,我有一个django-tables2表单,它将选定的模型项传递给第二个表单。第二个表单的目标是允许用户编辑将应用于所有项的值。我的问题是,第二个表单验证失败,然后输入值无法保存。在表单尝试验证之前,如何链接这两个表单并允许用户输入?POST请求似乎是从表中经过第二个表单的——有没有办法中断它或启动第二个请求 image_list.html: 当我在表格视图中单击“编辑风扇”按钮时,EditFANForm正确呈现,我可以输入值,重定向回表格视图,但没有保存任何值。从我添加的用于跟踪代码的print

我有一个django-tables2表单,它将选定的模型项传递给第二个表单。第二个表单的目标是允许用户编辑将应用于所有项的值。我的问题是,第二个表单验证失败,然后输入值无法保存。在表单尝试验证之前,如何链接这两个表单并允许用户输入?POST请求似乎是从表中经过第二个表单的——有没有办法中断它或启动第二个请求

image_list.html:

当我在表格视图中单击“编辑风扇”按钮时,
EditFANForm
正确呈现,我可以输入值,重定向回表格视图,但没有保存任何值。从我添加的用于跟踪代码的
print
命令中,我在console中获得以下内容:

POST
774
ERRORS:   <bound method BaseForm.non_field_errors of <EditFANForm bound=False, valid=False, fields=(FAN;collection;tags)>>
POST
774
错误:
其中“774”是所选对象。
因此,在我看来,表单进入了可以编辑值的部分(
EditFANForm
),但表单在用户可以输入值之前发布,因此表单不会验证(但也没有任何错误?)

我哪里做错了?如何保存第二个表单中的值


Python3.6.8、Django 2.2.6

我想出了一个似乎效果不错的解决方案:添加重定向到另一个视图以处理第二个表单。来自
django.contrib
的消息用于将上下文数据传递给第二个视图和表单(在本例中为表中选定的对象)

def delete_image_list(request):
    if request.method == 'POST':
        if 'delete_images' in request.POST:
            pks = request.POST.getlist('selection')
            # Delete items...

        elif 'edit_FAN' in request.POST:
            form = EditFANForm()
            pks = request.POST.getlist('selection')
            imgs = []
            for pk in pks:
                ex = exif.objects.get(pk=pk)
                imgs.append(ex.image_id)
            if request.method == 'POST':
                print('POST')
                for img in imgs:
                    print(image.objects.get(pk=img))
                    form = EditFANForm(instance=image.objects.get(pk=img))
                    if form.is_valid():
                        print('Valid')
                        formS = form.save(commit=False)
                        img.FAN = formS.FAN
                        fromS.save()
                    else:
                        print('ERRORS: ', form.errors)
            return render(request, 'ExifReader/edit_fan_form.html', {'form': form, 'pks':pks})
POST
774
ERRORS:   <bound method BaseForm.non_field_errors of <EditFANForm bound=False, valid=False, fields=(FAN;collection;tags)>>
from django.contrib import messages

def delete_image_list(request):
    ...
    elif 'edit_FAN' in request.POST:
        pks = request.POST.getlist('selection')
        messages.add_message(request, messages.INFO, pks)
        return HttpResonseRedirect(reverse('ExifReader:images_list_edit'))

def images_list_edit(request):
    if request.method == 'POST':
    ...