It doesn't actually matter. Changes to many to many fields cause independent CRUD operations on the join table. These operations happen independent of the object's save method