7
比方說,我有添加/編輯產品(場「用戶」是一個外鍵,我的用戶)形式從兩個不同的視圖功能觸發 - 添加/編輯:Django的form.save步步
def product_add(request):
userprofile = UserProfile.objects.get(user=request.user)
if request.method == 'POST':
form = ProductAddForm(request.POST, request.FILES,)
if form.is_valid():
form.save(user=request.user)
else:
form = ProductAddForm()
return render_to_response('products/product_add.html', {
'form':form, 'user':request.user,
}, context_instance=RequestContext(request))
def product_edit(request, id):
product = get_object_or_404(Product, id=id, user=request.user)
if product.user.id!=request.user.id:
raise Http404
if request.method == 'POST':
form = ProductAddForm(request.POST, request.FILES, instance=product)
if form.is_valid():
form.save(user=request.user)
else:
form = ProductAddForm(instance=product)
return render_to_response('products/product_edit.html', {
'form':form, 'user':request.user,
}, context_instance=RequestContext(request))
形式的保存方法如下所示:
def save(self, user, *args, **kwargs):
self.instance.user = user
post = super(ProductAddForm, self).save(*args, **kwargs)
post.save()
有人可以告訴我發生了什麼事在一步此保存方法步驟爲什麼我們稱這種形式的超級正是在整個處理的差異時,我們如果函數調用是相同的,編輯並保存新產品?
您是否看過docs.python.org以查看'super'函數的作用? http://docs.python.org/library/functions.html#super你在那裏學到了什麼? – 2010-07-01 01:53:43
「編輯」是什麼意思?你的意思是「驗證」?這是表單的一個獨立功能。或者你的意思是別的嗎? – 2010-07-01 02:11:36
「2 views」是指「兩個視圖功能」嗎?如果是這樣,請用所有這些信息更新您的問題。請停止添加評論。請更新問題以包含所有事實。然後刪除評論。 – 2010-07-01 02:20:34