SQLAlchemy filter_by json列

时间:2019-08-31 20:48:16

标签: python postgresql sqlalchemy

我有这样的模型:

class Customer(Base):
__tablename__ = 'customers'
uuid = database.Column(database.String, primary_key=True)
activity_type = database.Column(database.String)
activity = database.Column(database.JSON)

我需要filter_by activity_type以及类似的活动:

@staticmethod
def create_if_not_exist(customer):
    """ Create customer if not exists """
    if Customer.query.filter_by(
            activity_type=customer.activity_type,
            activity=customer.activity
    ).first() is None:
        customer.save()

    return customer.uuid

如果不适用于json colum活动。有人可以帮我如何filter_by json列吗?

1 个答案:

答案 0 :(得分:0)

针对PostgreSQL的一种解决方案是利用PostgreSQL的JSONB列:

tslint "{src,typings}/**/*"

然后您的原始查询应该正确评估。