gpt4 book ai didi

python - Sqlalchemy 如何过滤同时包含 Null 值和整数值的列

转载 作者:太空狗 更新时间:2023-10-29 17:45:46 26 4
gpt4 key购买 nike

我的表有一个可为空的列,其中包含两种类型的值 Null(默认值)和整数:

class Node(db.Model):
__tablename__ = "node"
maintenance = db.Column(db.Integer, nullable=True)

请求是这样的:

maintenance = 1
node_list = Node.query.filter(Node.maintenance != maintenance).all()

我需要选择所有包含 Null0 值的单元格。

提前致谢!

最佳答案

I need to select all cells which contains 'Null' or '0' values.

使用|作为逻辑OR

Node.query.filter((Node.maintenance == None) | (Node.maintenance == 0))

使用 is_(None)

或者,避免使用 == None(因为 linters)

Node.query.filter((Node.maintenance.is_(None)) | (Node.maintenance == 0))

使用 or_

或者,这个表格

from sqlalchemy import or_
Node.query.filter(or_(Node.maintenance == None, Node.maintenance == 0))

使用in_

如果想知道您是否可以在 SQL 和 Python 中使用类似于 in 运算符的查询,您是对的,您也可以在 SQLAlchemy 中执行此操作,但不幸的是 it doesn't work for None/NULL values , 但为了说明我们可以看到

Node.query.filter(Node.maintenance.in_([0, 1]))

相当于

Node.query.filter((Node.maintenance == 0) | (Node.maintenance == 1))

关于python - Sqlalchemy 如何过滤同时包含 Null 值和整数值的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37445041/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com