0

したがって、このフォームセットでは、最初のフィールドは正常に保存および更新されます...しかし、新しいオブジェクトを追加したい場合、うまくいきません。

#Views.py
def edit_auto(request):
car = Auto.objects.filter(user=request.user)
CarFormSet = modelformset_factory(Auto, form=AutoForm, max_num=3)

if request.method == 'POST':
    formset = CarFormSet(request.POST, request.FILES, queryset=car)
    if formset.is_valid():
        formset.save(commit=False)
        formset.user = request.user
        formset.save()

    return render_to_response('manage_users.html', {'message':'Success! The user has been updated!'}, context_instance=RequestContext(request))
else:
            formset = CarFormSet(queryset=car)
return render_to_response('mycar.html', locals(), context_instance=RequestContext(request))

#forms.py
class AutoForm(forms.ModelForm):
    class Meta:
        model = Auto
        user = Auto.user
        exclude = ('user',)

テンプレに何か入ってる?フォームの単一インスタンスの場合、form.user = request.user通常は保存されますが、これは保存されません。助言がありますか?ご協力ありがとうございました。

4

1 に答える 1

2

ユーザー割り当てステップでは、フォームセットを反復処理するだけです。

...
if request.method == 'POST':
    formset = CarFormSet(request.POST, request.FILES, queryset=car)
    if formset.is_valid():
        formset.save(commit=False)
        for form in formset:
            form.user = request.user
        formset.save()
...
于 2012-09-17T19:49:37.440 に答える