1

我的代码如下所示:

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。

4

2 回答 2

0

当前的通用视图,包括 create_object,不提供挂钩来对创建的对象进行额外处理。所以如果你想这样做,你必须滚动你自己的创建视图,这真的不是很难。

当 Django 1.2 推出时,我们应该获得基于类的通用视图,这将更容易挂钩额外的功能。

于 2009-05-12T18:20:56.427 回答
0

在 Django 下,您可以使用

newobject.id

或者

newobject.pk

我建议使用.pk

请记住,newobject.pk并不总是与newobject.id相同。

于 2009-05-12T00:58:26.580 回答