【发布时间】:2014-03-31 18:13:56
【问题描述】:
将视图中的 django.contrib.auth.models 中的用户对象分配给具有对用户的外键引用的模型对象的正确方法是什么?示例中的 new_contact:
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(request) [基于此处的答案:valueError in modelforms],即使我将 django.contrib.auth 导入到我的视图中,它也会返回 NameError 'auth'。这样做的正确方法是什么?谢谢
我的模型是:
from django import forms
from .models import Contact
class SignupForm(forms.ModelForm):
class Meta:
model = Contact
fields = ['name','email','company']
【问题讨论】:
标签: python django django-forms django-views