title: Django get all values Group By particular one field
body: <p>I want to execute a simple query like:</p>
  <pre><code>    select *,count('id') from menu_permission group by menu_id
  </code></pre>
  <p>In Django format I have tried:</p>
  <pre><code>    MenuPermission.objects.all().values('menu_id').annotate(Count('id))
  </code></pre>
  <p>It selects only menu_id. The executed query is:</p>
  <pre><code>    SELECT `menu_permission`.`menu_id`, COUNT(`menu_permission`.`id`) AS `id__count` FROM `menu_permission` GROUP BY `menu_permission`.`menu_id`
  </code></pre>
  <p>But I need other fields also. If I try:</p>
  <pre><code>   MenuPermission.objects.all().values('id','menu_id').annotate(Count('id))
  </code></pre>
  <p>It adds 'id' in group by condition.</p>
  <pre><code>  GROUP BY `menu_permission`.`id`
  </code></pre>
  <p>As a result I am not getting the expected result. How I can get all all fields in the output but group by a single one?</p>