2017-10-17 4 views
0

에있는 where 절을 SQLAlchemy ORM을 사용하여 역순으로과 비교하려고합니다. 나는이 작업을 수행 할 수있을 것, 이상적으로SQLAlchemy에서 "WHERE '값'like column '을 어떻게 표현합니까?

 
| domain  | 
| ------------ | 
| %.google.com | 

: 그래서 그 대신 Table.query.filter(Table.column.like(value))의,이 행을 선택 ...로 결국

select * from table where 'mail.google.com' like domain; 
을 ... 싶습니다 :

Table.query.filter(BinaryExpression('mail.google.com', Table.domain, custom_op('like')).all() 

그러나 AttributeError를 반환합니다. 'str'개체에는 'self_group'특성이 없습니다.

SQLAlchemy에서 어떻게 표현됩니까?

+0

가능한 복제 [어떤 쿼리에 하드 코딩 된 값을 선택하는 방법은?] (https://stackoverflow.com/questions/27239647/what-is-the-way-to -select-a-hard-coded-value-in-a-query) – univerio

+0

비슷하지만, 내 질문은 특히 컬럼에 라벨을 붙이는 대신에 "like"where 절을 만드는 것에 관한 것입니다. – ehfeng

답변

0

나를 위해 작동합니다. 의

from sqlalchemy.sql.expression import literal 
Table.query.filter(literal('mail.google.com').like(Table.domain)