-1
参照フィールドに特定の値が存在しないテーブルを選択しようとしています。 contains()メソッドを否定することは可能ですか?web2pyのリストには()を否定できますか?
grid = SQLFORM.smartgrid(db.redaktion.projekt.contains(projektid)
参照フィールドに特定の値が存在しないテーブルを選択しようとしています。 contains()メソッドを否定することは可能ですか?web2pyのリストには()を否定できますか?
grid = SQLFORM.smartgrid(db.redaktion.projekt.contains(projektid)
pyDAL
クエリで否定演算子は~
です。また、smartgrid
の最初の引数は、Query
ではなく、Table
でなければなりません。特定のテーブルにクエリを適用するには、constraints
引数を使用します。したがって、それは次のようになります:
grid = SQLFORM.smartgrid(db.redaktion,
constraints={'redaktion': ~db.redaktion.projekt.contains(projektid)})
http://web2py.com/books/default/chapter/29/06/the-database-abstraction-layer#Logical-operatorsを参照してください。
ありがとう@Anthony、テーブル以外のグリッド、つまり「SQLFORM.smartgrid(db.redaktion)」が「属性エラー: 'Query」オブジェクトに「_tablename' ' – lebigmac
さて、答えを見つけた: SQLFORM.grid(クエリ)OK SQLFORM.smartgrid(テーブル)OK SQLFORM.smartgrid(クエリ) SQLFORM.smartgrid(table、contraints = {'tablename':query})OK – lebigmac
あなたのコードをコピーしていて、 'smartgrid'と' grid'を見逃していました。私は正しいコードを反映するために答えを更新しました。 – Anthony