Django добавить к полю многие ко многим работает без сохранения
Какая разница между
group.reportedBy.add(request.user)
group.save()
И
group.reportedBy.add(request.user)
Он сохраняется в БД даже без выполнения команды .save()
Если вы не обновляете поле group (не ManyToManyField, поскольку они реализованы с помощью скрытой таблицы), то сохранение группы не имеет смысла.
Django реализует ManyToManyField с пересечением таблиц [wiki]. Это означает, что он строит дополнительную таблицу с двумя ForeignKey: одна к модели, где вы определяете ManyToManyField, а другая к цели этого поля.
В случае, если вы хотите добавить ссылку на request.user, она, таким образом, не будет обновлять таблицу за моделью Group. Она просто вставит дополнительную запись в таблицу перекрестков, где заполнит ForeignKey к модели Group с первичным ключом group, а ForeignKey к модели пользователя с первичным ключом request.user.
Таким образом, это означает, что добавление, удаление, очистка и т.д. отношения "многие-ко-многим" не внесет изменений в объект Group, а значит, его не следует сохранять. Сохраняя его, вы создаете бесполезный запрос.