我通过覆盖
form_valid方法解决了这个问题。下面是详细说明的样式:
class CreateArticle(CreateView): model = Article def form_valid(self, form): article = form.save(commit=False) article.author = self.request.user #article.save() # This is redundant, see comments. return super(CreateArticle, self).form_valid(form)
但是我们可以简短地说(感谢dowjones123),在docs中提到了这种情况。
class CreateArticle(CreateView): model = Article def form_valid(self, form): form.instance.author = self.request.user return super(CreateArticle, self).form_valid(form)



