0
所以在這個表單集的第一個字段保存&更新就好了......但是當我想添加一個新的對象,這是行不通的這麼好。Django的表單集...保存用戶與現場排除
#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
通常會保存,但這不是。有什麼建議麼?感謝您的幫助。
嗯仍然沒有奏效。它仍然表示用戶不能爲空。 – jmitchel3
你的表單聲明中的user = Auto.user行是幹什麼的?這對我來說看起來很可疑/錯誤。你想爲用戶設置一個初始值嗎?如果是這樣,請檢查[this](https://docs.djangoproject.com/en/dev/topics/forms/formsets/#using-initial-data-with-a-formset)。 –
我理解了它(ⅰ除去'用戶= Auto.user'): '如果request.method == 'POST': 表單集= AutoFormSet(request.POST,request.FILES,查詢集=汽車) 如果formset.is_valid(): formset.save(提交= FALSE) 用於表單集形式: form.instance.user = request.user formset.save() 選擇render_to_response回報( 'manage_users.html',{「消息':'!成功的用戶已經更新'},context_instance = RequestContext的(要求))' 感謝您的幫助! – jmitchel3