Peewee:select 行,如果它们包含某个关键字
Peewee: select rows if they contain a certain keyword
鉴于以下情况:
import datetime
from peewee import *
db = SqliteDatabase("wl.db")
class Entry(Model):
my_name = CharField(max_length=100)
task_name = CharField(max_length=100)
minutes = IntegerField(default=0)
notes = CharField(max_length=200)
created_at = DateTimeField(default=datetime.datetime.now)
class Meta:
database = db
def initialize():
e = Entry(my_name="bot", task_name="hello world", minutes=12, notes="")
e.save()
e = Entry(my_name="bot 2", task_name="random hello random", minutes=1, notes="random")
e.save()
if __name__ == "__main__":
db.connect()
db.create_tables([Entry], safe=True)
initialize()
是否有一个查询,我可以在其中 select()
所有包含特定关键字的记录。
例如:我想 select 所有包含 "hello" 的记录 Entry.task_name
你可以试试下面的方法
query = Entry.select().where(Entry.task_name.contains('hello'))
这相当于做:
query = Entry.select().where(Entry.task_name ** '%hello%')
根据后端数据库的不同,通配符 ("%") 可能会有所不同。
鉴于以下情况:
import datetime
from peewee import *
db = SqliteDatabase("wl.db")
class Entry(Model):
my_name = CharField(max_length=100)
task_name = CharField(max_length=100)
minutes = IntegerField(default=0)
notes = CharField(max_length=200)
created_at = DateTimeField(default=datetime.datetime.now)
class Meta:
database = db
def initialize():
e = Entry(my_name="bot", task_name="hello world", minutes=12, notes="")
e.save()
e = Entry(my_name="bot 2", task_name="random hello random", minutes=1, notes="random")
e.save()
if __name__ == "__main__":
db.connect()
db.create_tables([Entry], safe=True)
initialize()
是否有一个查询,我可以在其中 select()
所有包含特定关键字的记录。
例如:我想 select 所有包含 "hello" 的记录 Entry.task_name
你可以试试下面的方法
query = Entry.select().where(Entry.task_name.contains('hello'))
这相当于做:
query = Entry.select().where(Entry.task_name ** '%hello%')
根据后端数据库的不同,通配符 ("%") 可能会有所不同。