我正在练习django基于类的视图与一个基本的博客应用程序。 但是,由于某些原因,我的博文模型的CreateView不会将该博文保存在数据库中。Django CreateView没有保存对象
models.py
class Post(models.Model):
user = models.ForeignKey(User)
post_title = models.CharField(max_length=200)
post_content = models.CharField(max_length=500)
post_date = models.DateTimeField('date posted')
forms.py
class PostForm(forms.ModelForm):
class Meta:
model = Post
exclude = ('user', 'post_date')
views.py
class PostCreate(CreateView):
template_name = 'app_blog/post_save_form.html'
model = Post
form_class = PostForm
def form_valid(self, form):
form.instance.user = self.request.user
form.instance.post_date = datetime.now()
return super(PostCreate, self).form_valid(form)
它显示内容的无线没有产生任何错误,但是当我检查管理页面, CreateView创建的帖子没有保存在数据库中.. 任何想法.. ??
感谢
尝试做'form.save()'先然后调用之前超!如果这有帮助 –
我试过你的代码,它适用于我。还有别的东西。保存后将其重定向到帖子列表或发布表单吗? – sneawo
'form.save()'应该由'super'调用,因为他使用的是ModelForm –