相关疑难解决方法(0)

在SQLAlchemy中使用OR

我查看了文档,我似乎无法找到如何在SQLAlchemy中进行OR查询.我只是想做这个查询.

SELECT address FROM addressbook WHERE city='boston' AND (lastname='bulger' OR firstname='whitey')
Run Code Online (Sandbox Code Playgroud)

应该是这样的

addr = session.query(AddressBook).filter(City == "boston").filter(????)
Run Code Online (Sandbox Code Playgroud)

python sqlalchemy

168
推荐指数
4
解决办法
12万
查看次数

*在python上是什么意思?

我有下一个查询.

item = [item.export_simple()
            for item in session.query(Item)
                               .filter(and_(
                                       Item.companyId == company_id,
                                       or_(
                                           True if search == "" else None,
                                           or_(*[Item.name.like('%{0}%'.format(s)) for s in words]),
                                           or_(*[Item.code.like('%{0}%'.format(s)) for s in words])
                                            ))).order_by(Item.name)]
Run Code Online (Sandbox Code Playgroud)

还有这个.

if type == "code":
            src = [Item.code.like('%{0}%'.format(s)) for s in words]
        elif type == "name":
            src = [Item.name.like('%{0}%'.format(s)) for s in words]

 session.query(Item)
                    .filter(and_(
                        Item.companyId == company_id,
                        Item.typeItem == item_type,
                        or_(
                            True if search == "" else None,
                            or_(*src)
                        )))
Run Code Online (Sandbox Code Playgroud)

在这两种情况下,我都有*or_()语句中的运算符,并且两个查询都很棒,但我不确切知道为什么.这是参考这一个

python sqlalchemy

1
推荐指数
1
解决办法
88
查看次数

标签 统计

python ×2

sqlalchemy ×2