2017-09-14 4 views

答えて

0

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を参照してください。

+0

ありがとう@Anthony、テーブル以外のグリッド、つまり「SQLFORM.smartgrid(db.redaktion)」が「属性エラー: 'Query」オブジェクトに「_tablename' ' – lebigmac

+0

さて、答えを見つけた: SQLFORM.grid(クエリ)OK SQLFORM.smartgrid(テーブル)OK SQLFORM.smartgrid(クエリ) SQLFORM.smartgrid(table、contraints = {'tablename':query})OK – lebigmac

+0

あなたのコードをコピーしていて、 'smartgrid'と' grid'を見逃していました。私は正しいコードを反映するために答えを更新しました。 – Anthony

関連する問題