Между ними есть существенная разница.
instance = Model(**form_data.cleaned_data)
не сохраняет объект в базе данных. Он создает только локальный экземпляр.
instance = form_data.save()
добавляет объект в базу данных (он выполняет фиксацию, если это поддерживается), а также имеет побочный эффект запуска проверки.
Если вы хотите выполнить пользовательскую постобработку объекта перед его сохранением, вы передаете commit=False
методу save()
.
instance = form_data.save(commit=False)
# do some stuff with instance
instance.save()