It is not possible to order a Model on a field of the Model acting as the intermediate ‘through‘ of a ManyToMany relation in Django, because queries will not return items in the correct order, and in addition will include duplicate items, even when using .distinct().
This problem is current as of Django 1.3 and has no generic solution as far as I know.