We have been struggling with this for a few days and have done lots of searches on the web.
We are trying to figure out how entries are saved in Django forms for man
Thankfully, order can now be preserved in a ManyToMany relationship without the extra complexity of using a through model using sortedm2m which is a drop-in replacement for django's own ManyToManyField.
https://github.com/gregmuellegger/django-sortedm2m
Django doesn't guarantee to preserve the order of many-to-many relationships. If you need this, you should use a through table with an explicit 'order' field.