Sync data for a many-to-many field related to a post using set differences.

        :param existing_post: Post object that needs to be sync'd
        :param field: the many-to-many field to update
        :param related_objects: the list of objects for the field, that need to be sync'd to the Post
        :return: None

def process_post_many_to_many_field(existing_post, field, related_objects):
        """
        Sync data for a many-to-many field related to a post using set differences.

        :param existing_post: Post object that needs to be sync'd
        :param field: the many-to-many field to update
        :param related_objects: the list of objects for the field, that need to be sync'd to the Post
        :return: None
        """
        to_add = set(related_objects.get(existing_post.wp_id, set())) - set(getattr(existing_post, field).all())
        to_remove = set(getattr(existing_post, field).all()) - set(related_objects.get(existing_post.wp_id, set()))

        if to_add:
            getattr(existing_post, field).add(*to_add)
        if to_remove:
            getattr(existing_post, field).remove(*to_remove)