什么是在视图中的模型对象与外键引用用户分配从django.contrib.auth.models用户对象的正确方法?实施例new_contact中:无法分配django.utils.functional.SimpleLazyObject,必须是用户实例
def index(request):
form = SignupForm(request.POST or None)
if form.is_valid():
new_contact = form.save(commit=False)
new_contact.user = request.user
new_contact.save()
# send_mail ...
return HttpResponseRedirect(reverse('app:template'))
else:
return render_to_response('index.html', {'form': form}, context_instance=RequestContext(request))
“new_contact.user = request.user”抛出错误ValueError异常在/无法分配“”:“Contact.user”必须是一个“用户”的实例,因为request.user是一个对象的包装,而不是实际的用户(尚不存在)。但是,如果我设置new_contact.user = auth.get_user(请求)根据答案在这里:valueError in modelforms],它返回NameError“权威性”即使我进口django.contrib.auth进入我的视野。什么是正确的方法来做到这一点?感谢
我的ModelForm是:
from django import forms
from .models import Contact
class SignupForm(forms.ModelForm):
class Meta:
model = Contact
fields = ['name','email','company']
你登录了吗? – karthikr