title: return a default value for empty field on a django model
body: <p>I have a model in which one field is often the blank string.  Is there a way to return (for e.g.) the string 'default' instead of that blank string for queries on that model?</p>
  
  <pre><code>class MyModel(models.Model):
      ...
      afield = models.CharField(...)  # many rows set afield to ''
  </code></pre>
  
  <p>When I perform a query</p>
  
  <pre><code>o = MyModel.objects.all()
  vars(o[0])
  {...
  'afield': ''  # afield is empty
  ...}
  </code></pre>
  
  <p>I would rather see</p>
  
  <pre><code>vars(o[0])
  {...
  'afield': 'default'
  ...}
  </code></pre>
  
  <p>Is there a way to do this?  Is there a better way to implement this than inside the model?</p>
  
  <p>Notes:</p>
  
  <ul>
  <li>I do not want to store the string 'default'</li>
  <li><a href="https://stackoverflow.com/a/2158272/1698426">this answer</a> alters the database, I want to avoid that</li>
  </ul>