In [11]: foo_ids = [101, 19, 75]
In [12]: order_ids = ','.join(["{id}".format(id=id) for id in foo_ids])
In [13]: foos = Foo.objects.filter(id__in=foo_ids).extra(select={'order_ids': "FIELD(id, {})".format(order_ids)}, order_by=['order_ids'])
In [14]: foos.values_list('id', flat=True)
Out[14]: [101L, 19L, 75L]