2017-09-14 5 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)'을 선택하면 '속성 오류 : '쿼리 결과에 '_tablename'속성이 없습니다. ' – lebigmac

+0

좋아, 대답을 찾았습니다 : SQLFORM.grid (query) OK SQLFORM.smartgrid (table) OK SQLFORM.smartgrid (query) SQLFORM.smartgrid (table, contraints = { 'tablename': query}) OK – lebigmac

+0

맞습니다. 저는 여러분의 코드를 복사하고 있었고'smartgrid'와'grid'를 놓쳤습니다. 올바른 코드를 반영하도록 답변을 업데이트했습니다. – Anthony