For those of us not using django 1.0 (yet)
Newforms are great, and ModelForms will be a welcome release. However, I find I can’t utilize the over simplified workflow:
myform = MyForm(request.Post)
myform.save()
because I have to process one or more fields before saving. But there aren’t a lot of explicit examples – for some strange reason, you are required to call .is_valid() on the form before trying to access the clean_data, like this:
myform = MyForm(request.POST)
myform.is_valid() # this creates the clean_data dictionary
attribute = myform.clean_data['attributename']
Seems like the sort of thing I would code an exception into the clean_data accessor – ‘you must first call is_valid() before using’. Maybe that’s just me.