Почему object.pk будет None в get_success_url в CreateView?

У меня есть CreateView, на который после создания я хотел бы направить пользователя DetailView для этого вновь созданного экземпляра.

class ModelCreateView(LoginRequiredMixin, CreateView):
    model = Model
    template_name = 'models/model-create-template.html'

В моем методе get_success_url я использую self.object.pk, но это None.

    def get_success_url(self):
        return f'/model/{self.object.pk}'

class ModelCreateView(LoginRequiredMixin, CreateView):
    model = Model
    template_name = 'models/model-create-template.html'

    def form_valid(self, form):
        form.instance.user = self.request.user
        return super().form_valid(form)

    def get_success_url(self):
        return f'/model/{self.object.pk}'

Модель для размножения:

class Model(models.Model):
    id = models.IntegerField(primary_key=True)

Использование этой модели с кодом выше воспроизведет, что self.object.pk или self.object.id находится None внутри get_success_url.

Я вижу, что достиг успешного save(), поскольку мои сигналы post_save срабатывают, и form_valid() также вызывается, поскольку я обновляю пользователя в этом методе.

Когда я смотрю в отладчике на self.object, все остальные поля заполнены, на id и pk оба None. Глядя на экземпляр в админке, я могу подтвердить, что они действительно устанавливаются правильно, но по какой-то причине во время вызова get_success_url у меня нет доступа к этим данным.

Является ли экземпляр в self.object действительно созданным экземпляром, или он просто представляет поля, представленные формой CreateView? Если это первое, то как я могу получить доступ к экземпляру в get_success_url?

Вернуться на верх