title: Django ORM query returns wrong number of items
body: <p>In my application users can create lists and add influencers to them. My <strong>User</strong> and <strong>InfluencerList</strong> models have M2M relation. <strong>InfluencerList</strong> model have also M2M relation with <strong>InstagramInfluencer</strong>, <strong>YoutubeInfluencer</strong>, ...</p>
  <p>Here is my query for getting users all lists and influencer counts in it, which works finely:</p>
  <pre><code>users_all_lists = request.user.lists.all().annotate(
                 instagram_count=Count('influencers', distinct=True), 
                 youtube_count=Count('youtube_influencers', distinct=True), 
                 tiktok_count=Count('tiktok_influencers', distinct=True), 
                 twitch_count=Count('twitch_influencers', distinct=True), 
                 clubhouse_count=Count('clubhouse_influencers', distinct=True)
                 ).values(
                     'id', 'name', 'instagram_count', 'youtube_count', 'tiktok_count', 'twitch_count', 'clubhouse_count', 
                     ).distinct().order_by('created_at')
  </code></pre>
  <p>I also want to return those influencers usernames, so I added foreign key lookups to <code>.values()</code> function:</p>
  <pre><code>users_all_lists = request.user.lists.all().annotate(
                 instagram_count=Count('influencers', distinct=True), 
                 youtube_count=Count('youtube_influencers', distinct=True), 
                 tiktok_count=Count('tiktok_influencers', distinct=True), 
                 twitch_count=Count('twitch_influencers', distinct=True), 
                 clubhouse_count=Count('clubhouse_influencers', distinct=True)
                 ).values(
                     'id', 'name', 'instagram_count', 'youtube_count', 'tiktok_count', 'twitch_count', 'clubhouse_count', 
                     # ADDED THIS ONE LINE BELOW
                     'influencers__username', 'tiktok_influencers__username', 'youtube_influencers__channel_title', 'twitch_influencers__username', 'clubhouse_influencers__username' 
                     ).distinct().order_by('created_at')
  </code></pre>
  <p>When a User has one InfluencerList with 2 influencers in it, this query returns 2 items which is not what I expected. Here is my InfluencerList model if it's necessary:</p>
  <pre><code>class InfluencerList(models.Model):
      name = models.CharField('Name:', unique=True, max_length=40, blank=False, null=False)
      created_at = models.DateTimeField(auto_now_add=True, blank=True, null=True)
      owner = models.ForeignKey(User, on_delete=models.CASCADE, related_name='lists')
      influencers = models.ManyToManyField('Influencer', related_name='lists', blank=True)
      tiktok_influencers = models.ManyToManyField('TiktokInfluencer', related_name='lists', blank=True)
      youtube_influencers = models.ManyToManyField('YoutubeInfluencer', related_name='lists', blank=True)
      twitch_influencers = models.ManyToManyField('TwitchInfluencer', related_name='lists', blank=True)
      clubhouse_influencers = models.ManyToManyField('ClubhouseInfluencer', related_name='lists', blank=True)
  </code></pre>
  <p>I have spent much time in Django ORM documentation, but still struggling, so I appreciate any kind of help</p>