Friday, 13 September 2013

Django Form Primary Key on save() method - getting NoneType traceback

Django Form Primary Key on save() method - getting NoneType traceback

I was using the q&a at Get Primary Key after Saving a ModelForm in Django.
It's exactly on point with what I need to do.
I have the following view:
def meeting_event(request):
if request.method == 'POST':
form = meetingEventForm(request.POST)
if form.is_valid():
new_agenda=form.save()
return HttpResponseRedirect(reverse('agenda_detail',
args=(new_agenda.pk,)))
else:
form = meetingEventForm()
return render_to_response('agendas/event.html',{'form':form,},
context_instance=RequestContext(request))
I've confirmed that this makes it into the database cleanly. However, I
get the following error:
Traceback:
File
"/usr/lib/python2.6/site-packages/Django-1.5.2-py2.6.egg/django/core/handlers/base.py"
in get_response
115. response = callback(request,
*callback_args, **callback_kwargs)
File
"/usr/lib/python2.6/site-packages/Django-1.5.2-py2.6.egg/django/contrib/auth/decorators.py"
in _wrapped_view
25. return view_func(request, *args, **kwargs)
File "/var/www/html/tamtools/agendas/views.py" in meeting_event
44. return HttpResponseRedirect(reverse('agenda_detail',
args=(new_agenda.pk,)))
Exception Type: AttributeError at /agendas/add/
Exception Value: 'NoneType' object has no attribute 'pk'
Has something changed in Django 1.5 that I don't know about? new_agenda
should be a meetingEventForm type, shouldn't it?

No comments:

Post a Comment