Django, как получить экземпляр объекта (id) перед его созданием в функции form_valid представления generics? - PullRequest
0 голосов
/ 04 февраля 2020

Когда я создаю объект модели Post, мне нужно мгновенно получить его ID и создать User_permission второй модели, как в этом случае я могу передать переменной Post данные ID недавно созданного сообщения

  class CreatePostView(LoginRequiredMixin, CreateView):
        model = Post
        form_class = PostForm

        def form_valid(self, form): 
                obj = User_permission.objects.create(post=post)
                obj.save()
            return super().form_valid(form)

1 Ответ

0 голосов
/ 04 февраля 2020

Объекты не имеют id с, пока не сохранены. Вам нужно что-то вроде

    def form_valid(self, form): 
            response = super().form_valid(form) # saves object
            obj = User_permission.objects.create(post=self.object)
            obj.save()
            return response

В этом примере в документации показано использование self.object

...