I have an album track model with a pre-defined Meta.ordering. In my debugger, I got bitten by something like this :
pdb> album.tracks.all()[0]
<Track: track 2>
ipdb> album.tracks.all() # WTF ?
[<Track: track 1>, <Track: track 2>]
ipdb> m = album.tracks.all()
ipdb> m[0]
<Track: track 2>
ipdb> m = list(album.tracks.all())
ipdb> m[0]
<Track: track 1>
Why does this happen ? Is there some best practices about this ?