title: Django exact match of ForeignKey Values
body: <pre><code>class Sentence(Model):
      name = CharField()
  
  class Tokens(Model):
     token = CharField()
     sentence = ForeignKey(Sentence, related_name='tokens')
  </code></pre>
  
  <ol>
  <li><p>I want to implement two cases: Sentence consists exactly of three
  tokens <code>['I', 'like', 'apples']</code>. So list of <code>sentence.tokens.all()</code>
  is exactly <code>['I', 'like', 'apples']</code>.</p></li>
  <li><p>Same as above, but contains tokens (part of sentence).</p></li>
  </ol>
  
  <p><code>Sentence.objects.annotate(n=Count('tokens',distinct=True)).filter(n=3).filter(tokens__name='I').filter(tokens__name='like').filter(tokens__name='apples')</code> doesn't work, since it matches <code>I I I</code> as well.</p>
  
  <p>Is there any way to filter on exact set of values in ForeignKey?</p>