【问题标题】:How to query sqlalchemy object with "IN" in python?如何在 python 中使用“IN”查询 sqlalchemy 对象?
【发布时间】:2020-04-18 14:21:31
【问题描述】:

我有一个类似的模型

class User(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(32), unique=True, nullable=False)
    character = db.Column(db.String(10), nullable=False)

我还有一个字符列表chars = [char1, char2, ...]

在 SQL 中我可以说

select * from User
where character in ('char1', 'char2',...)

我怎么写这是python?

基于此处提出的类似问题,我尝试了:

foo = User.query.filter_by(User.character.in_(chars)).all()

但这给了我错误filter_by() takes 1 positional argument but 2 were given

我做错了什么?

【问题讨论】:

    标签: python python-3.x flask sqlalchemy flask-sqlalchemy


    【解决方案1】:

    可能是这样的:

    session.query(User).filter(User. character.in_(chars)).all()
    

    【讨论】:

    • 这很有效,谢谢!为什么会这样,filter和filter_by有什么区别? (我会在允许的情况下接受)
    • 如果答案有帮助,请始终支持并接受它。这是filter vs filter_by的链接。
    • 谢谢,请再次阅读我的评论,我说过我会接受我已经尝试过,但它说我必须等待,因为问题还不够老!
    • 抱歉错过了那部分。
    猜你喜欢
    • 2015-07-01
    • 1970-01-01
    • 2021-08-14
    • 2021-03-14
    • 2023-03-29
    • 1970-01-01
    • 2014-07-29
    • 2014-10-15
    • 2019-12-31
    相关资源
    最近更新 更多