2

ユーザーのグループメンバーシップを編集しようとしていますが、コントローラーにあります:

def change_membership():

if request.vars.id:

    row = db(db.auth_membership.user_id == request.vars.id).select()
    id = row[0].id  
    form = SQLFORM(db.auth_membership,
                               id,
                               fields=['group_id'],
                               _action=URL()
                               )
if form.process().accepted:
    ...redirect back to user list

if form.errors:
    response.flash = 'form has errors'

return dict(form=form)

しかし、うまくいきません。範囲外の : リスト インデックスを取得します

1行しか取得できないことはわかっていますが、なぜ空に見えるのかわかりません..

前もってありがとう
クリスチャン

4

1 に答える 1

2

優秀な!

アンソニーとマッシモに感謝します。

それは私の一日を救います、今ではすべてが request.vars.id の代わりに request.get_vars.id を使用して動作しています

参照:

2012/8/22 Anthony の書き込み: はい。web2py は GET 変数を request.get_vars に保存し、POST 変数を request.post_vars に保存することに注意してください。GET 変数と POST 変数の両方を request.vars に格納します。get_vars と post_vars の両方に同じ名前の変数がある場合、それらの値は request.vars 内のリストに入れられます。request.vars.id の代わりに request.get_vars.id を使用するようにコードを変更するだけです。

2012/8/22 Massimo Di Pierro の書き込み: 2 つの id フィールドがあります。1 つは request.get_vars.id (URL から) に、もう 1 つは request.post_vars.id (フォーム送信から) にあります。

于 2012-08-22T17:10:02.953 に答える