django - How to save current login user? user_id may not be NULL -
i have error:
appname_mymodel.user_id may not null
def form_view(request): user = request.user f_form = fform(request.post or none, request.files or none) if request.method == "post": if f_form.is_valid(): f_form.user = user f_form.save() return httpresponseredirect('/thanks/') return render_to_response('upload.html', {'f_form': f_form}, context_instance=requestcontext(request))
forms.py:
class fform(modelform): class meta: model = mymodel exclude =['user']
how save current login user?
the form doesn't have user
attribute useless assign it. should instead is:
if f_form.is_valid(): my_model = f_form.save(commit=false) my_model.user = user my_model.save()
this way form construct mymodel
instance, not attempt save database. can fill user
field , save it.
Comments
Post a Comment