Django: __in query lookup doesn’t maintain the order in queryset
Assuming the list of IDs isn’t too large, you could convert the QS to a list and sort it in Python: album_list = list(albums) album_list.sort(key=lambda album: album_ids.index(album.id))