title: django annotate unexpected limit 21
body: <p>I want use django ORM to finish count group by, but select sql unexpected <code>limit 21</code> every time. I don't want the limit, why <code>limit 21</code> appear, and how can I get all data?</p>
  
  <p>model:</p>
  
  <pre><code>class Company(models.Model):
      company_no = models.CharField(primary_key=True, max_length=128)
      name = models.CharField(max_length=128)
      is_test = models.BooleanField(default=False)
      class Meta:
          db_table = 'company'
  
  class User(models.Model):
      symbol = models.BigIntegerField(primary_key=True)
      is_test = models.BooleanField(default=False)
  
      class Meta:
          db_table = 'user'
  
  class UserEmploy(models.Model):
      user = models.ForeignKey(User, on_delete=models.CASCADE, db_column='symbol', to_field='symbol', related_name='employ')
      company = models.ForeignKey(Company, on_delete=models.CASCADE, to_field='company_no', db_column='company_no', related_name='user_employ')
      class Meta:
          db_table = 'user_employ'
  </code></pre>
  
  <p>django code in my views:</p>
  
  <pre><code>   employ_qs_exclude_test = UserEmploy.objects\
          .exclude(user__is_test__in=utils.IS_TEST_MODE)\
          .values("company__name") \
          .annotate(employ_count=Count('user', distinct=True))\
          .order_by('company')
  </code></pre>
  
  <p>sql log:</p>
  
  <pre><code>SELECT `company`.`name`, COUNT(DISTINCT `user_employ`.`symbol`) AS `employ_count` FROM `user_employ`
  INNER JOIN `user`
  ON (`user_employ`.`symbol` = `user`.`symbol`)
  INNER JOIN `company` 
  ON (`user_employ`.`company_no` = `company`.`company_no`)
  WHERE NOT (`user`.`is_test` IN (1))
  GROUP BY `company`.`name`, `company`.`created_at`
  ORDER BY `company`.`created_at` DESC LIMIT 21;
  </code></pre>