2009-06-16 2 views
0

SQLObject에서 LIKE 인 SQL 문을 실행하는 좋은 방법이 있습니까?SQLObject에서 SQL LIKE 실행

이 사람은 작동하지만, 다소 추한 :

fields = Foo.select("field LIKE '%%%s%%'" % bar) 

답변

0

SqlBuilder은 (또한 적절한 LIKE 절을 구축 startswithendswith들)을 LIKE 기능을 가지고 있습니다.

1

sqlobject.sqlbuilder에는 LIKE이라는 문서화되지 않은 클래스가 있으며 다른 쿼리 요소 중에서 사용할 수 있습니다. 예를 들어

:

from sqlobject.sqlbuilder import LIKE 

class Customer(SQLObject): 
    name = StringCol() 
    ... 

# this search is case-dependent 
rows = Customer.select(LIKE(Customer.q.name, "%Smith%")) 

class ILIKE(LIKE): 
    op = 'ILIKE' 

# this search is case-independent, works on PostgreSQL, not sure about others 
rows = Customer.select(ILIKE(Customer.q.name, '%smith%'))