问题描述
def itemconfirmation(request, pk):
item = Food_item.objects.get(id=pk)
userobj = request.user
user = UserProfile.objects.get(user=userobj)
if request.method == 'POST':
count_form = CountForm(data=request.POST)
if count_form.is_valid():
countform = count_form.save(commit=False)
countform.useradno = user.adno
countform.itemid = item.id
countform.save()
c = RequestContext(request, {
'item': item, 'count_form': count_form
})
return render_to_response('itemconfirmation.html', context_instance=c)
我有这样定义的视图。 我在将用户对象扩展到UserProfile时遇到错误,无法使用user.id
1楼
request.user是否已通过身份验证? 是AnonymousUser吗?
UserProfile.objects.get()方法不是用于创建对象,而是从数据库中获取对象。 如果不存在,将引发异常。 将UserProfile.objects.create(..)与可能需要的初始数据一起使用。
希望这可以帮助!
==编辑==
另外,请注意,即使在request.method不是“ POST”(即“ GET”)的情况下,即使未初始化,也要在RequestContext中引用count_form。