def form_valid(self, form): with transaction.atomic(): self.article = Article(body=form.cleaned_data['body']) self.article.locale = self.request.LANGUAGE_CODE self.article.save() self.main_alias = Alias( name=form.cleaned_data['name'], article=self.article ) self.main_alias.save() return super().form_valid(form)
class NewArticleView(LoginRequiredMixin, FormView): form_class = NewArticleForm template_name = 'wiki/new_article.html' def form_valid(self, form): with transaction.atomic(): self.article = Article(body=form.cleaned_data['body']) self.article.locale = self.request.LANGUAGE_CODE self.article.save() self.main_alias = Alias( name=form.cleaned_data['name'], article=self.article ) self.main_alias.save() return super().form_valid(form) def get_success_url(self): return reverse_lazy('article-detail', kwargs={'slug': self.main_alias.slug})