title: django model for city and places
body: <p>I'm working on a real estate app, where I have models for properties, cities and places e.g. </p>
  
  <pre><code>class City(models.Model):
      city = models.CharField(max_length=200)
  
      def __str__(self):
          return self.city
  
      class Meta:
          verbose_name_plural = "Cities"
  
  
  class Location(models.Model):
      address = models.CharField(max_length=200)
      city = models.ForeignKey(City)
  
      def __str__(self):
          return self.address
  
  
  class Property(models.Model):
      STATUS_CHOICES = (
          ('draft', 'Draft'),
          ('published', 'Published'),
      )
      title = models.CharField(max_length=200, verbose_name=_('Title'))
      slug = models.SlugField(max_length=250, unique_for_date='publish',verbose_name=_('Slug'))
      city = models.ForeignKey(City)
      address = models.ForeignKey(Location)
      status = models.CharField(
          max_length=10,
          choices=STATUS_CHOICES,
          default='draft'
      )
  </code></pre>
  
  <p>This is how it looks in the admin</p>
  
  <p><a href="http://i.stack.imgur.com/wISId.png" rel="nofollow">admin screenshot</a></p>
  
  <p>The problem is both these fields (city &amp; places) are independent, i.e. you can choose London in the city and select a location from a different city. I'm fairly new to django models (or databases), but do you think I should change the <code>address</code> to just a <code>CharField</code> in the Property class? How does that relate to the <code>city</code>? </p>
  
  <p>Ideally I want the autocomplete feature of the 'Google Places API' in both 'City' &amp; 'Location' fields so that user can select both from the API results and then save the result in the database (when Agents will be adding properties) or do a db search using the selected city/location. </p>
  
  <p>I have tried <a href="https://bitbucket.org/alexhayes/django-google-places" rel="nofollow">django-google-places</a> but not sure how to incorporate that into a model field just like I want. Thanks in advance </p>