title: How to chain Django querysets preserving individual order
body: <p>I'd like to append or chain several Querysets in Django, preserving the order of each one (not the result). I'm using a third-party library to paginate the result, and it only accepts lists or querysets. I've tried these options:</p>
  
  <p><strong>Queryset join</strong>: Doesn't preserve ordering in individual querysets, so I can't use this.</p>
  
  <pre><code>result = queryset_1 | queryset_2
  </code></pre>
  
  <p><strong>Using itertools</strong>: Calling <code>list()</code> on the chain object actually evaluates the querysets and this could cause a lot of overhead. Doesn't it?</p>
  
  <pre><code>result = list(itertools.chain(queryset_1, queryset_2))
  </code></pre>
  
  <p>How do you think I should go?</p>