Python SQLAlchemy匹配子句

Python SQLAlchemy匹配子句,python,sqlalchemy,Python,Sqlalchemy,我有一个带有全文索引的MySQL表。我想知道如何使用MATCH。。。用SQLAlchemy对抗()。你有一些例子吗 ... trs = dbsession.query(Trans).filter(Trans.client_id==user_id) if search and search != '': trs = trs.filter(or_(Trans.transcribe.like('%'+search+'%'), Trans.lang_name.like('

我有一个带有全文索引的MySQL表。我想知道如何使用MATCH。。。用SQLAlchemy对抗()。你有一些例子吗

...
    trs = dbsession.query(Trans).filter(Trans.client_id==user_id)
    if search and search != '':
        trs = trs.filter(or_(Trans.transcribe.like('%'+search+'%'), Trans.lang_name.like('%'+search+'%')))
...

我想用“在布尔模式下匹配/反对”结构替换LIKE,但我不知道如何使用该子句:

Trans.lang_name.match(str_to_match)
其中,
str\u to\u match
是要匹配的字符串

这将(对于MySQL方言)编译为(假设
Trans
模型表名为
Trans
,并且模型属性与列名匹配):


正如您在中所看到的,
MATCH
运算符的当前实现是针对
布尔模式
的硬编码,因此,恐怕无法使用当前版本切换模式。也许这是一个很好的机会,可以为项目提供一个补丁来支持替代模式?:)谢谢佩德罗!经常检查源代码非常有用:)
'MATCH(trans.lang_name) AGAINST (%s IN BOOLEAN MODE)' % str_to_match