Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从使用Django通用视图创建的新对象中检索键_Django_Google App Engine_Views_Generics - Fatal编程技术网

从使用Django通用视图创建的新对象中检索键

从使用Django通用视图创建的新对象中检索键,django,google-app-engine,views,generics,Django,Google App Engine,Views,Generics,我的代码如下所示: 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):

我的代码如下所示:

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
如何从新创建的对象中检索密钥


我正在使用所有最新版本的谷歌应用程序引擎补丁。

在Django下,您可以使用

newobject.id

我建议使用.pk


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

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

当Django 1.2推出时,我们应该得到基于类的泛型视图,这将使它更容易钩住额外的功能

newobject.pk