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

Djangoでは、次のいずれかを使用できます

newobject.id

また

newobject.pk

.pkの使用をお勧めします。

newobject.pkは常に newobject.id と同じではないことに注意してください。

于 2009-05-12T00:58:26.580 に答える
0

create_object を含む現在の一般的なビューは、作成されたオブジェクトで追加の処理を行うためのフックを提供しません。したがって、これを行いたい場合は、独自の create ビューを作成する必要がありますが、これはそれほど難しくありません。

Django 1.2 が登場したら、クラスベースのジェネリック ビューを取得する必要があります。これにより、追加の機能を簡単にフックできるようになります。

于 2009-05-12T18:20:56.427 に答える