title: Show Integer choice value as Characters (not integer) in Admin
body: <p>I'm trying to display values from a choices field. Using the below methods, causes the "Store" model to break (clicking on it from Admin)</p>
  
  <p>Error is:</p>
  
  <pre><code>TypeError __str__ returned non-string (type int)
  </code></pre>
  
  <p>When I change <strong>str</strong> to <strong>int</strong> the error stops- but it doesn't display the region choice (just "Region Object"). </p>
  
  <pre><code>country_list = ['Global', 'Australia', 'United Kingdom', 'United States']
  
  Region_CHOICES = tuple(enumerate(country_list, start=1))
  
  class Region (models.Model):
      region = models.IntegerField(choices=Region_CHOICES)
      def __str__(self):
          return self.region
  
  class Store(models.Model):
      store_name = models.CharField(max_length=30)
      region = models.ManyToManyField(Region, blank=True)
  </code></pre>
  
  <p>How can I get it to correctly return the Region as a choice (from the list of words, not the integer itself)?</p>