title: Accessing foreign keys
body: <p>I have the following models:</p>
  
  <pre><code>class Article(models.Model):
      title = models.CharField(max_length=200, unique=False, null=False)
      rating = models.IntegerField(default=0, null=False, unique=False)
  
  class Shared(models.Model):
      sender = models.ForeignKey(User)
      article = models.ForeignKey(Article)
  
  class SharedMap(models.Model):
      item = models.ForeignKey(Shared)
      receiver = models.ForeignKey(User)
  </code></pre>
  
  <p>Now I execute the following query:</p>
  
  <pre><code>def get_shared_feed(self):
      return Article.objects.filter(shared__sharedmap__receiver=self)
  </code></pre>
  
  <p>And I actually get the list of articles as expected. However:</p>
  
  <pre><code>{{ article.shared_set.count }}
  </code></pre>
  
  <p>Gives me more than 1 if the articles was shared before. I want to get the list of articles with a single sender(e.g. friend) for each. Instead, I receive the list of articles with the set of every user that shared this article.</p>