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