title: How do I share a child foreign table amongst to parent tables in Django models
body: <p>I currently have this setup:</p>
  
  <pre><code>class Address (models.Model):
      Member = models.ForeignKey(Member, blank=True, null=True, on_delete=models.CASCADE)
      Unit = models.ForeignKey(Unit, blank=True, null=True, on_delete=models.CASCADE)
      Address1 = models.TextField(max_length=512)
      Address2 = models.TextField(max_length=512, null=True, blank=True)
      City = models.TextField(max_length=100)
      State = models.TextField(max_length=100)
      Zip = models.TextField(max_length=25)
      Latitude = models.FloatField(null=True, blank=True)
      Longitude = models.FloatField(null=True, blank=True)
      Primary = models.BooleanField(default=False)
  
  
  class Phone (models.Model):
      Member = models.ForeignKey(Member, blank=True, null=True, on_delete=models.CASCADE)
      Unit = models.ForeignKey(Unit, blank=True, null=True, on_delete=models.CASCADE)
      Phone = models.CharField(max_length=25)
      Type = models.CharField(max_length=25)
      Primary = models.BooleanField(default=False)
  
  
  class Member (models.Model):
      FederationID = models.FloatField(unique=True)
      UserId = models.ForeignKey(User, on_delete=models.CASCADE)
      height = models.IntegerField(blank=True, null=True)
      eye = models.CharField(blank=True, null=True)
      hair = models.CharField(blank=True, null=True)
      bio = models.TextField()
  
  
  class Unit (models.Model):
      Name = models.CharField(max_length=255)
      Hull = models.CharField(max_length=20)
      Type = models.CharField(max_length=20)
  </code></pre>
  
  <p>I'm trying to use a single address table to mimic both Members and Units' Address.<br>
  I'm asking if this is the right way to go about this?  Is there a more DRY version of doing this correctly.  Notice the Phone model as well.  Same question.  Thanks.</p>