1

ユーザーデータベースと果物データベースがあり、ユーザーはチェックボックスのフォームに入力して、持っている果物を選択します。

プロファイルにこの情報を反映させたいのですが、web2py でデータベースにクエリを実行して、に設定されているすべてのブール値フィールドを表示する方法がわかりませんTrue

SQL クエリで実行できますか?それとも、ユーザーのフルーツ レコードを選択して結果をフィルター処理する必要がありますか?

ここに私のDBモデルがあります:

db.define_table('fruit',
    Field('id', 'reference auth_user'),
    Field('apple','boolean',label=T('Apple')),
    Field('apricot','boolean',label=T('Apricot')),
    Field('cherry','boolean',label=T('Cherry')),
    Field('fig','boolean', label=T('Fig')),
    Field('lychee','boolean', label=T('Lychee')),
    Field('peach','boolean', label=T('Peach')),
    Field('pear','boolean', label=T('Pear')),
    Field('plum','boolean', label=T('Plum')))

これが私のコントローラーです(明らかに機能しません。単に を返します<Set 0>)。

私はグーグルからいくつかの異なる組み合わせを試しましたが、どれも望ましい結果をもたらしませんでした:

def profile():

    id = auth.user.id or redirect(URL('default', 'index'))
    user = db.auth_user[id]
    fruit = db.fruit(id=id)
    produce = db(fruit == True)
    return dict(user=user, produce=produce)
4

1 に答える 1