Python的orator如何构造多个like查询?

Python的orator如何构造多个like查询?

原生语句:

SELECT * FROM `think_user` WHERE  (`name` LIKE '%think%' OR `name` LIKE '%php%')

在 orator 中该怎么写?
单个的关键词查询:

DB.table('full_text').where('title', 'like', f'%{word}%').get()

多个怎么写?


回答:

用的多次赋值方法搞定的,不得不说,作为python的AR ORM实现的orator,在用法方面甚至不如php的thinkorm,虽然后者模仿laravel的痕迹比较重,但是python作为一个有着众多库的语言,AR ORM竟然如此不堪,更比不上rails,而且orator很久没有更新了。

#实现and逻辑

search = ['%word1%', '%word2%', '%word3%', ...]

info = DB.table('full_text')

for s in search:

info = info.where('title', 'like', s)

result = info.get()

#实现or逻辑

search = ['%word1%', '%word2%', '%word3%', ...]

info = DB.table('full_text')

for s in search:

if search.index(s) == 0:

info = info.where('title', 'like', s)

else:

info = info.or_where('title', 'like', s)

result = info.get()


回答:

DB.table('full_text').where('title', 'like', f'%{word}%').or_where('title', 'like', f'%{word2}%').get()

from https://orator-orm.com/docs/0...

以上是 Python的orator如何构造多个like查询? 的全部内容, 来源链接: utcz.com/p/938515.html

回到顶部