Ale*_*ore 14 python flask flask-sqlalchemy
我有一个可以为空的列的表,其中包含两种类型的值Null(默认值)和整数:
class Node(db.Model):
__tablename__ = "node"
maintenance = db.Column(db.Integer, nullable=True)
Run Code Online (Sandbox Code Playgroud)
请求就像这样:
maintenance = 1
node_list = Node.query.filter(Node.maintenance != maintenance).all()
Run Code Online (Sandbox Code Playgroud)
我需要选择包含Null或0值的所有单元格.
先感谢您!
bak*_*kal 19
我需要选择包含'Null'或'0'值的所有单元格.
使用|的逻辑OR
Node.query.filter((Node.maintenance == None) | (Node.maintenance == 0))
Run Code Online (Sandbox Code Playgroud)
运用 is_(None)
或者,避免使用== None(因为短距离)
Node.query.filter((Node.maintenance.is_(None)) | (Node.maintenance == 0))
Run Code Online (Sandbox Code Playgroud)
运用 or_
或者,这种形式
from sqlalchemy import or_
Node.query.filter(or_(Node.maintenance == None, Node.maintenance == 0))
Run Code Online (Sandbox Code Playgroud)
运用 in_
如果想知道你是否可以in在SQL和Python中使用类似于运算符的东西进行查询,那么你也可以在SQLAlchemy中进行查询,但不幸的是它不适用于None/NULL值,但为了说明我们可以看到
Node.query.filter(Node.maintenance.in_([0, 1]))
Run Code Online (Sandbox Code Playgroud)
相当于
Node.query.filter((Node.maintenance == 0) | (Node.maintenance == 1))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7457 次 |
| 最近记录: |