0

LIKEin SQLObjectを使用して SQL ステートメントを実行するきれいな方法はありますか?

これは機能しますが、やや醜いです:

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

2 に答える 2

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%'))
于 2014-11-16T23:51:23.517 に答える
0

SqlBuilderにはLIKE関数 (およびstartswith適切endswithLIKE句を作成する関数) があります。

于 2009-06-16T20:01:23.527 に答える