What's the right way to assign a User object from django.contrib.auth.models in a view to a model object with a foreign key reference to User? Example new_contact in:
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" throws error ValueError at / Cannot assign "": "Contact.user" must be a "User" instance because request.user is an object wrapper, not the actual User (which doesn't exist yet). But if I set new_contact.user = auth.get_user(request) [based on answer here: valueError in modelforms ], it returns NameError 'auth' even though I'm importing django.contrib.auth into my view. What's the right way to do this? thanks
My modelform is:
from django import forms
from .models import Contact
class SignupForm(forms.ModelForm):
class Meta:
model = Contact
fields = ['name','email','company']