К слову, он вызовется. Но во время вызова get_context_data. Но это произойдёт после form_valid. Так что, модифицируй свой get_object, чтобы он не фетчил БД каждый раз а сохранял в self.object объект при первом вызове, а потом возвращал его.
Кстати, смею отметить то, что когда ты переименуешь post в form, у тебя вылезет ошибка о том, что у form нет поля pk, потому что его нет. Инстанс сохраняется и возвращается из метода save, но ты его не ловишь. Тебе нужно написать вместо form.save()instance = form.save() и потом редиректу дать pk=instance.pk