title: Enum using Django ModelField choices as string -- anti-pattern?
body: <p>I have a Django field that I'm using basically as an enum for notification preferences.</p>
  
  <p>Right now I have it set up like so:</p>
  
  <pre class="lang-py prettyprint-override"><code>class MyModel(models.Model):
      # ...
      EVERY_TIME = 'every'; WEEKLY = 'weekly'; NEVER = 'never'
      NOTIFICATION_CHOICES = ((EVERY_TIME, "Every time"), (WEEKLY, "Weekly"), (NEVER, "Never"))
      notification_preferences = models.CharField(choices=NOTIFICATION_CHOICES, default=EVERY_TIME, max_length=10)
  </code></pre>
  
  <p>I know that generally this kind of enum should be set up as a <code>models.IntegerField</code> rather than a <code>CharField</code>, but since the front-end uses Angular and the data is all served via an API, I feel like it might provide a bit more useful information for the front-end to receive <code>'weekly'</code> rather than <code>2</code>, for example.</p>
  
  <p>Is it considered bad practice to use a <code>CharField</code> as an enum?  If so, is my use case small enough that it's not a big deal, or is there something I'm missing that I should change it?</p>