为什么django表单集内容在发布后不更新?

为什么django表单集内容在发布后不更新?,django,forms,Django,Forms,我正在使用表单集向用户显示表单并更新数据库。成功后,我希望立即重新显示带有更新(添加/删除)数据和额外空表单的表单集 数据库更新已正确完成。如果填写了额外的表单,它将显示回来。但是已删除的表单(行)在提交后仍会显示,如果额外表单已填充数据,则在提交后不会提供新的额外表单 这是我的视图.py代码: @login_required def user_setting(request): user = request.user OnlineFormSet = modelformset_

我正在使用表单集向用户显示表单并更新数据库。成功后,我希望立即重新显示带有更新(添加/删除)数据和额外空表单的表单集

数据库更新已正确完成。如果填写了额外的表单,它将显示回来。但是已删除的表单(行)在提交后仍会显示,如果额外表单已填充数据,则在提交后不会提供新的额外表单

这是我的
视图.py
代码:


@login_required
def user_setting(request):
    user = request.user
    OnlineFormSet = modelformset_factory(Online, 
                                         can_delete=True,
                                         extra=1)

    onlines = Online.objects.filter(user=user).order_by('start')
    if request.method == 'POST':
        formset = OnlineFormSet(request.POST, queryset=onlines)
        if formset.is_valid():
            for q in formset.save(commit=False):
                q.user=user
                q.save()
    else:
        formset = OnlineFormSet(queryset=onlines)

    context['online_formset'] = formset

    return response(request, context)  
我还尝试在
if request.method==“POST”
块末尾使用重定向,但没有成功


有没有可能有一个全新的表单集,其中包含由于发布而刚刚提交/删除的所有数据?

以下是我如何解决这个问题的

首先,模板中有一个错误,我将
action=“
更改为
action=“.”“

这样,我总是在更新后立即得到一个新的表单集

<form id="online" method="post" action=".">
    {% csrf_token %}
    {{ online_formset }}
<input id="online-submit" type="submit" value="Submit" />
</form>

@login_required
def user_setting(request):
    user = request.user
    OnlineFormSet = modelformset_factory(Online, can_delete=True,extra=1) 
    onlines = Online.objects.filter(user=user).order_by('start')
    if request.method == 'POST':
        formset = OnlineFormSet(request.POST, queryset=Online.objects.all())
        if formset.is_valid():
            for q in formset.save(commit=False):
                q.user=user
                q.save()
    formset = OnlineFormSet(queryset=onlines)
    context['online_formset'] = formset
    return response(request, context)