2012-10-29 4 views
0

DAL을 사용하여 db_column에 filter_out을 적용한 후 mysql 데이터베이스에서 원래 값을 가져 와서 문제가 있습니다.web2py의 열에 filter_out을 사용한 후에 원래 값을 얻을 수 없습니다.

예를 들어 정수 열이있는 테이블이 있습니다. 그런 다음 필터를 다음과 같이 필터링합니다.

db.mytable.mycolumn.filter_out = lambda mycolumn: "some complex stuff" 
           if mycolumn is None else "another complex stuff" 

어떻게 원래 값을 검색 할 수 있습니까?

rows = db().select(db.mytable.mycolumn) // get filtered data, not the original 

도움말!

답변

1

두 가지 마음에 와서 :

  1. 필터링 & 필터링되지 않은 데이터 사이의 유일한 차이는 없음의, 당신은 단지 없음에서 오는으로 "물건"을 인식 할 수 있었다 필터링되지 않은 때문에? ("일부 항목"이 별개의 상수가 아니거나 적어도 필터에서 오는 것으로 인식 할 수있는 경우 문제가 있음을 알 수 있지만 "일부 재료"가 무엇인지 자세히 설명하지 않았습니다.)

  2. 테이블을 항상 필터링하지 않으려면 테이블에 필터를 보관하지 않아야합니다. 필터를 바꾸면 (None 또는 ID 람다로 설정 됨) 필터링을 제거해야하지만, 필터를 다시 변경해야합니다.

+0

1. 복잡한 물건이면서 별개의 상수가 아닙니다. 그래, 어쨌든 나는 그것을 생각할 수 있지만, 나는 쉬운 방법을 찾고있다. 2. 그게 좋은 지적이야, 아마도 내가 그걸로 올거야. – Smiter

관련 문제