title: Django 'NoneType' object has no attribute '__getitem__' with Form Save
body: <p>I have a fairly simple form, but I'm receiving a TypeError with the ModelChoiceField, and I'm unable to understand why. The form returns the model id number, and with that number I should be able to lookup the particular model and use it for whatever purpose. It's not working out that way though.Here is my form code:</p>
  
  <pre><code>class TestimonialForm(forms.Form):
      title = forms.CharField(max_length=100)
      content = forms.CharField(max_length=500, widget=forms.Textarea)
      ratings = (
          (1, '1'),
          (2, '2'),
          (3, '3'),
          (4, '4'),
          (5, '5')
            )
      rating = forms.ChoiceField(choices=ratings, widget=forms.RadioSelect)
      reward = forms.ModelChoiceField(queryset=Reward.objects.all())
      username = forms.CharField(max_length=50, widget=forms.HiddenInput)
      def clean(self):
          cleaned_data = super(TestimonialForm, self).clean()
          usr = cleaned_data.get('username')
          res = cleaned_data.get('reward')
      if Reward_Review.objects.filter(id=res.id).filter(affiliate__username=usr):
          raise forms.ValidationError("You have already submitted a testimonial. You can only submit one per gift card.")
      if not Redeem.objects.filter(reward__id=res.id).filter(affiliate__username=usr):
          raise forms.ValidationError("You haven't received this gift card yet, so you cannot write a review for it.")
      def clean_username(self):
      data = self.cleaned_data['username']
      try: 
          Affiliate.objects.get(user__username=data)
      except ObjectDoesNotExist, e:
          msg = 'The username provided by the form submission does not match anyone in our database.'
          logger.exception(e)
          logger.debug(msg, exc_info=True)
          raise forms.ValidationError("Invalid username. Please try again later.")
      return data
      def save(self, request, *args, **kwargs):
      data = self.cleaned_data
      user = request.user
      re = Reward.objects.get(id=data['reward'])
      points = Points.objects.create(affiliate=user, points=float(10), from_offer=False, from_task=True)
      rate = Reward_Rating.objects.create(affiliate=user, reward=re, rating_value=data['rating'])
      testimonial = Reward_Review.objects.create(affiliate=user, reward=re, reward_rating=rate, review_title=data['title'], review_content=data['content'])
      return testimonial
  </code></pre>
  
  <p>Full Trace:</p>
  
  <pre><code>Environment:
  Request Method: POST
  Traceback:
  
  File "/app/.heroku/python/lib/python2.7/site-packages/django/core/handlers/base.py" in get_response
    114.                     response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "/app/.heroku/python/lib/python2.7/site-packages/django/views/generic/base.py" in view
    69.             return self.dispatch(request, *args, **kwargs)
  File "/app/.heroku/python/lib/python2.7/site-packages/django/utils/decorators.py" in _wrapper
    29.             return bound_func(*args, **kwargs)
  File "/app/.heroku/python/lib/python2.7/site-packages/django/contrib/auth/decorators.py" in _wrapped_view
    22.                 return view_func(request, *args, **kwargs)
  File "/app/.heroku/python/lib/python2.7/site-packages/django/contrib/auth/decorators.py" in _wrapped_view
    22.                 return view_func(request, *args, **kwargs)
  File "/app/.heroku/python/lib/python2.7/site-packages/django/utils/decorators.py" in bound_func
    25.                 return func(self, *args2, **kwargs2)
  File "/app/myapp/views.py" in dispatch
    756.         return super(TestimonialFormView, self).dispatch(*args, **kwargs)
  File "/app/.heroku/python/lib/python2.7/site-packages/newrelic-2.8.0.7/newrelic/hooks/framework_django.py" in wrapper
    809.             return wrapped(*args, **kwargs)
  File "/app/.heroku/python/lib/python2.7/site-packages/django/views/generic/base.py" in dispatch
    87.         return handler(request, *args, **kwargs)
  File "/app/.heroku/python/lib/python2.7/site-packages/django/views/generic/edit.py" in post
    171.             return self.form_valid(form)
  File "/app/myapp/views.py" in form_valid
    743.  form.save(self.request)
  File "/app/myapp/forms.py" in save
    215.  re = Reward.objects.get(id=data['reward'])
  
  Exception Type: TypeError at /testimonials/
  Exception Value: 'NoneType' object has no attribute '__getitem__'
  </code></pre>