﻿id	summary	reporter	owner	description	type	status	component	version	severity	resolution	keywords	cc	stage	has_patch	needs_docs	needs_tests	needs_better_patch	easy	ui_ux
21955	"Formset save_as_new=True causes ""This QueryDict instance is immutable"" error"	Robin	nobody	"Basically if you post a properly setup inline formset with '''save_as_new=True''' argument:
{{{
FormSet = inlineformset_factory(Model, SubModel)
formset = FormSet(request.POST, save_as_new=True)
}}}
You will get
{{{
AttributeError at /
This QueryDict instance is immutable
}}}

'''Some demo code below:'''

views.py
{{{#!python
from django.forms.models import inlineformset_factory
from django.middleware.csrf import get_token
from django.http import HttpResponse
from django.template.base import Template, Context

from app.models import App, SubApp

def home(request):
    FormSet = inlineformset_factory(App, SubApp)
    if request.method == 'POST':
        formset = FormSet(request.POST, save_as_new=True)
    else:
        formset = FormSet()

    csrf = get_token(request)

    t = '''
        <form method=""POST"">
            {{ formset }}
            <input type=""hidden"" name=""csrfmiddlewaretoken"" value=""{{ csrf }}"" />
            <input type=""submit"" />
        </form>
    '''
    c = {
        'formset': formset,
        'csrf': csrf,
    }
    s = Template(t).render(Context(c))
    return HttpResponse(s)
}}}

models.py
{{{#!python
from django.db import models

class App(models.Model):
    pass

class SubApp(models.Model):
    app = models.ForeignKey(App)
}}}"	Bug	closed	Forms	1.6	Normal	invalid			Unreviewed	0	0	0	0	0	0
