这里我使用CreateView创建项目,之后我重定向用户更新当前创建的对象的其他字段。如何在CreateView中创建对象
这里我的代码:
Views.py
class DynamicCreate(CreateView):
model = Dynamic
form_class = DynamicForm
template_name = 'book/dynamic_create.html'
def form_valid(self, form):
book = form.save(commit=False)
book.user = User.objects.get(pk=(self.request.user.pk))
book.save()
return reverse('book:dynamicupdate', args=(self.object.id))
Urls.py
url(r'^book/create/$', views.DynamicCreate.as_view(), name='dynamiccreate'),
url(r'^book/delete/(?P<pk>[\w]+)/$', views.DynamicDelete.as_view(), name='dynamicdelete'),
url(r'^book/update/(?P<pk>[\w]+)/$', views.DynamicUpdate.as_view(), name='dynamicupdate'),
但在这里,我得到错误:
Exception Type: AttributeError
Exception Value: 'NoneType' object has no attribute 'id'
我经历这样This其他先前被问到的问题,但我不知道我在这里失踪。我的CreateView能够在Table中创建/保存数据,但它无法重定向到更新View Page。
不是对象只是'书'? –
是的,这里书是我的对象 –
那么,你的问题是什么? –