我使用peewee作为ORM并且有两个这样的类:
class A(Model):
name = CharField()
body = TextField()
class B(Model):
title = CharField()
body = TextField()
我希望A
和B
的{{1}} / title
所有条目都以name
等字符开头。根据文档,'abc'
运算符应该有帮助,但我甚至无法执行生成的|
。显然我希望在幕后有一个Expression
和UNION
表达式。我怎么通过peewee得到这个?
答案 0 :(得分:4)
您应该可以使用
之类的内容获得所需的结果result = (
A().select(A.name.alias('name_title'), A.body).where(A.name == 'abc') |
B().select(B.title.alias('name_title'), B.body).where(B.title == 'abc')
).select().execute()
或
search_text = 'abc'
table_a_results = A().select(
A.name.alias('name_title'),
A.body
).where(A.name == search_text)
table_b_results = B().select(
B.name.alias('name_title'),
B.body
).where(B.title == search_text)
result = ( table_a_results | table_b_results ).select().execute()
根据docs
获取.alias()
功能的AS
方法