title: Django admin. Displaying a hierarchical dropdown filter
body: <p>I have the following model:</p>
  
  <pre><code>from django.db import models
  
  class State(models.Model):
      name = models.CharField(max_length=30)
      abbreviation = models.CharField(max_length=2)
  
      def numberOfCities(self):
          return self.city_set.count()
  
      def __unicode__(self):
          return u"{0} - {1}".format(self.abbreviation, self.name)
  
  class City(models.Model):
      name = models.CharField(max_length=40)
      state = models.ForeignKey(State)
  
      class Meta:
          verbose_name_plural = 'Cities'
  
      def __unicode__(self):
          return self.name
  
  class Company(models.Model):
      name = models.CharField(max_length=60)
      description = models.CharField(max_length=1000)
      city = models.ForeignKey(City)
  
      class Meta:
          verbose_name_plural = 'Companies'
  
      def __unicode__(self):
          return self.name;
  </code></pre>
  
  <p>As you can see each company is associated with a city and as you would expect the Django admin generates the company creation form containing a dropdown of cities. But in order to improve the user experience I would like the user to first select the state and then the city dropdown would be populated with cities from that state. Is there a standard way of doing this?</p>