【问题标题】:Retrieving key from new object created from create_object using Django generic views使用 Django 通用视图从 create_object 创建的新对象中检索密钥
【发布时间】:2009-05-11 19:34:20
【问题描述】:

我的代码如下所示:

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。

【问题讨论】:

    标签: django google-app-engine views generics


    【解决方案1】:

    在 Django 下你可以使用

    newobject.id
    

    newobject.pk
    

    我推荐使用 .pk

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-04-09
        • 1970-01-01
        • 2011-01-22
        相关资源
        最近更新 更多