title: Django form validation on empty IntegerField
body: <p>I have a form that I don't render as part of HTML page but validate input against:</p>
  
  <pre><code>class milestone_form(forms.Form):
      name = forms.CharField(required=True)
      completion = forms.IntegerField(initial=0, required=False)
      due_date = forms.DateField(required=True,input_formats={'%d.%m.%Y'})
      phase = forms.IntegerField(required=True)
  </code></pre>
  
  <p>this completion bit is causing lots of problems:</p>
  
  <pre><code>form = milestone_form(request.POST)
  form.is_valid()#will return False on empty completion
  </code></pre>
  
  <p>I tried overriding form's clean() to make completion = 0 when it's empty:</p>
  
  <pre><code>def clean(self):
      cleaned_data = self.cleaned_data
      if cleaned_data.get('completion') is None:
          cleaned_data['completion'] = 0
      return cleaned_data 
  </code></pre>
  
  <p>However, it doesn't help. Is there something else I'm missing?</p>