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
答案 0 :(得分:1)
request.user是否经过身份验证?它是AnonymousUser吗?
UserProfile.objects.get()方法不是用于创建对象,而是用于从数据库获取对象。 如果它不存在则会引发异常。 将UserProfile.objects.create(..)与您可能需要的初始数据一起使用。
希望这有帮助!
== edit ==
另外,请注意,即使在request.method不是" POST"的情况下,它还没有初始化,也在RequestContext中引用count_form。 (即" GET")