【发布时间】:2015-06-01 07:30:57
【问题描述】:
所以我有一个这样的模型:
class myModel(Base):
id = Column(Integer, primary_key=True)
border = Column(JSONB)
如何查询没有边框的行?我试过了:
filter(myModel.border != None) #nope
filter(myModel.border != 'null') #nope
from sqlalchemy import null
filter(myModel.border != null()) #nope
该值显然作为"JSON encoded null value" 存储在postgres 中。它在实例化时肯定会被序列化回 python None,但我不知道如何查询它。看来您可以在列上设置none_as_null,即:
Column(JSONB(none_as_null=True))
它将 JSON 编码的 null 替换为 SQL 空值,但在所有列上都必须这样做似乎很奇怪。我在这里想念什么?
编辑:应该提到这是 sqlalchemy 的 v0.9.8
【问题讨论】:
标签: python postgresql sqlalchemy