title: Django convention for naming a ForeignKey that uses the to_field param?
body: <p>I'm wondering if there is a convention for naming a foreign key field in Django that is mapped to another field with <code>to_field</code>. For example, should the Django field name be the model name and the database field name be the column name or is that confusing?</p>
  
  <pre><code>class Stations(models.Model):
      name = models.CharField()
      observations = models.ForeignKey(Observations, 
                                       to_field='zone_code'
                                       db_column='zone_code')
  
  class Observations(models.Model):
      zone_code = models.IntegerField(unique=True)
      metric_a = models.IntegerField()
      metric_a = models.IntegerField()
  </code></pre>
  
  <p>It doesn't really make sense to have this:</p>
  
  <pre><code>class Stations(models.Model):
      name = models.CharField()
      observations = models.ForeignKey(Observations, 
                                       to_field='zone_code')
  
  class Observations(models.Model):
      zone_code = models.IntegerField(unique=True)
      metric_a = models.IntegerField()
      metric_a = models.IntegerField()
  </code></pre>
  
  <p>nor this</p>
  
  <pre><code>class Stations(models.Model):
      name = models.CharField()
      zone_code = models.ForeignKey(Observations, 
                                       to_field='zone_code')
  
  class Observations(models.Model):
      zone_code = models.IntegerField(unique=True)
      metric_a = models.IntegerField()
      metric_a = models.IntegerField()
  </code></pre>
  
  <p>because then you end up with <code>observations_id</code> or <code>zone_code_id</code> when the column in the database is actually the zone_code. Anyone have this issue before? </p>