title: This field is required error in django
body: <p>In the model I set:</p>
  
  <pre><code>class Task(models.Model):
      EstimateEffort = models.PositiveIntegerField('Estimate hours',max_length=200)
      Finished = models.IntegerField('Finished percentage',blank=True)
  </code></pre>
  
  <p>But in the web page, if I didn't set a value for the <code>Finished</code> field, it is showing an error <code>This field is required</code>.  I tried <code>null=True</code> and <code>blank=True</code>. But none of them worked. So could you please tell me how can I make a field allowed to be empty.</p>
  
  <p>I have found that there is a attribute <code>empty_strings_allowed</code>, i set it to True, but still the same, and  i subclass the models.IntegerField. It still can not work</p>
  
  <pre><code>class IntegerNullField(models.IntegerField):
      description = "Stores NULL but returns empty string"
      empty_strings_allowed =True
      log.getlog().debug("asas")
      def to_python(self, value):
          log.getlog().debug("asas")
          # this may be the value right out of the db, or an instance
          if isinstance(value, models.IntegerField):
              # if an instance, return the instance
              return value
          if value == None:
              # if db has NULL (==None in Python), return empty string
              return ""
          try:
              return int(value)
          except (TypeError, ValueError):
              msg = self.error_messages['invalid'] % str(value)
              raise exceptions.ValidationError(msg)
  
      def get_prep_value(self, value):
          # catches value right before sending to db
          if value == "":
              # if Django tries to save an empty string, send to db None (NULL)
              return None
          else:
              return int(value) # otherwise, just pass the value
  </code></pre>