title: Python Django: Annotating a same name with a database field
body: <p>I need to annotate something that has to be named 'id' that is the same as the primary key of the table 'id'. The final output should be an array of dictionaries. I know that I can annotate with another name like 'id_for_tree' and then after using <code>values()</code> to make the dictionaries and change the key in a loop. Something like:</p>
  
  <pre><code>item_list = MyTable.objects.annotate(id_for_tree=Concat(F('id'), F('Code'), output_field=CharField())).values('Name', 'id_for_tree')
  for any_item in item_list:
      any_item['id'] = any_item.pop('id_for_tree')
  </code></pre>
  
  <p>It's clear that this solution does not have a good performance. How can I get rid of the </p>
  
  <blockquote>
    <p>"The annotation 'id' conflicts with a field on the model"</p>
  </blockquote>
  
  <p>exception by discarding the previous <code>'id'</code> and annotate a new <code>'id'</code>?</p>