這裏是我的臺詞處理兩種形式:Django。包含2倍略有不同的形式,但第二形式的數據被保存在兩個
user = request.user
user_liked = user_liked_form.save(commit = False)
user_liked.user = user
user_liked.save()
user_disliked = user_disliked_form.save(commit = False)
user_disliked.user = user
user_disliked.save()
在第二表單提交的數據被保存在這兩個喜歡和不喜歡。
我已經在喜歡和不喜歡的模型中使用過用戶foreignkey。
下面是完整的功能:
def collect(request):
context = RequestContext(request)
submitted = False
if request.method == 'POST':
data = request.POST
user_liked_form = UserLikedForm(data = request.POST)
user_disliked_form = UserDislikedForm(data = request.POST)
# user_id = data["user_id"]
user = request.user
if user_liked_form.is_valid() and user_disliked_form.is_valid():
# user_liked_form.save(commit = True)
# user_disliked_form.save(commit = True)
user_liked = user_liked_form.save(commit = False)
user_liked.user = user
user_liked.save()
user_disliked = user_disliked_form.save(commit = False)
user_disliked.user = user
user_disliked.save()
submitted = True
else:
print user_liked_form.errors, user_disliked_form.errors
else:
user_liked_form = UserLikedForm()
user_disliked_form = UserDislikedForm()
return render_to_response(
'collect.html',
{'user_liked_form': user_liked_form, 'user_disliked_form': user_disliked_form, 'submitted': submitted},
context)
我有用戶作爲外鍵在這兩種模式。 – jakeN
爲什麼不過去所有的'view'代碼?通常,除非你使用'formset',否則Django會在頁面上使用單個頁面,所以這很可能是原因。 –