title: Django LowerCaseCharField
body: <p>We implemented a LowerCaseCharField. We would be happy to hear better implementation suggestions.</p>
  
  <pre><code>from django.db.models.fields import CharField
  
  class LowerCaseCharField(CharField):
      """
      Defines a charfield which automatically converts all inputs to
      lowercase and saves.
      """
  
      def pre_save(self, model_instance, add):
          """
          Converts the string to lowercase before saving.
          """
          current_value = getattr(model_instance, self.attname)
          setattr(model_instance, self.attname, current_value.lower())
          return getattr(model_instance, self.attname)
  </code></pre>
  
  <p>In fact we love to have is:</p>
  
  <pre><code>&gt; modelinstance.field_name="TEST"
  &gt; print modelinstance.field_name
  'test'
  </code></pre>
  
  <p>current implementation only converts to lowercase when it is saved.</p>