title: model self-dependency (one-to-many field) implementation
body: <p>I would like to implement a model with self-dependency. Say instance People_A may depend on People_B and People_C.
  I first implement this model with many to many key.</p>
  
  <pre><code>class People(models.Model):
  
  dependency = models. ManyToManyField ('self', blank=True, null=True)
  </code></pre>
  
  <p>But the result is that if People_A depend on People_B will result in People_B depend also on People_A. That’s something I don’t want to have. </p>
  
  <p>Then I implement it with foreign key.</p>
  
  <pre><code>class People(models.Model):
  
  dependency = models.ForeignKey('self', blank=True, null=True)
  </code></pre>
  
  <p>But this doesn’t work also. If People_A depend on People_B, then no other People could depend on People_B. It will cover the old dependency with the latest dependency.</p>
  
  <p>Any clue would be thankful</p>