Or if I wanted to keep the existing structure of multiple trees I could add an integer field to my model named order and then set this as the order_insertion_by class meta attribute. Then to reorder each of the trees' root nodes I change these values to reflect the order I want and then call rebuild() on the model manager to have the tree_id fields correctly updated to reflect the desired order. Downside to this approach is the docs say that the order_insertion_by should never be NULL and that it also affects the order of all nodes, not just root nodes. So I'd have to always manage this value for all nodes and I'd effectively be moving away from the API that django-mptt provides to do the ordering and instead just use this order value and rebuild() method.
I think the first approach sounds better. I can always test for the root node using is_root_node() and not display it when listing the nodes in a template for example.
Any more thoughts you guys have on this would be appreciated. Cheers.