【发布时间】:2018-02-25 17:09:41
【问题描述】:
我认为有两种形式:BookingForm 和 ReviewForm。我想在我的template.html 中独立提交和处理这些表格。我在template.html的表单的名称标签中添加了'booking'和'review'
对于预订表格,我只想重定向,但对于 ReviewForm,我想在我的数据库中创建一条记录。
这是我的 views.py
if request.method == "POST":
if 'booking' in request.POST:
form = BookingForm(request.POST)
if form.is_valid():
#process the form
return redirect()
elif 'review' in request.POST:
review_form = BookingForm(request.POST)
if review_form.is_valid():
review_form.save()
return redirect()
else:
form = BookingForm()
review_form = ReviewForm()
return render(request, "template.html", context={"form": form,"review_form":review_form})
但是,由于某种原因,我得到了 form 和 review_form 在分配之前被引用的错误。
另一件事,因为评论模型必须与另一个模型相关联(称为项目)。我想在致电review_form.save() 时自动获取商品数据并将我的评论与商品相关联。
我正在考虑类似于review_form['item']=kwargs['pk'] 的东西(不确定这是否可行)。我正在使用 DetailView 结构,并且页面具有来自 urls.py 的参数,与项目相关联,在我的视图中存储为 item_id=kwargs['pk']。
class Review(models.Model):
#other fields
item = models.ForeignKey(Item)
class ReviewForm(forms.ModelForm):
class Meta:
model = Review
fields = ('title','star','photo','name','email','body')
【问题讨论】:
标签: python django django-forms