我的代码看起来像这样:
def add_cart(request):
return create_object(request, form_class=CartForm,
post_save_redirect=reverse('test.views.show_cart',
kwargs=dict(object_id='%(key)s')))
理想情况下,我希望它看起来像这样:
def add_cart(request):
newobject = create_object(request, form_class=CartForm,
post_save_redirect=reverse('test.views.show_cart',
kwargs=dict(object_id='%(key)s')))
request.session['cartid'] = newobject.key
return newobject
如何从新创建的对象中检索密钥?
我正在使用google-app-engine-patch和所有最新版本。
答案 0 :(得分:0)
在Django下你可以使用
newobject.id
或
newobject.pk
我建议使用 .pk 。
请记住, newobject.pk 并不总是与 newobject.id 相同。
答案 1 :(得分:0)
包含create_object的当前通用视图不提供钩子来对创建的对象进行额外处理。因此,如果你想这样做,你将不得不推出自己的创建视图,这真的不是很难。
当Django 1.2推出时,我们应该获得基于类的通用视图,这将使得更容易挂钩额外的功能。