gpt4 book ai didi

python - SQLAlchemy:根据表字段查询自定义属性

转载 作者:太空狗 更新时间:2023-10-30 00:37:22 27 4
gpt4 key购买 nike

我正在使用 SQLAlchemy 声明性基础来定义我的模型。我定义了一个属性 name,它是从一列 (title) 计算得出的:

class Entry(Base):
__tablename__ = "blog_entry"
id = Column(Integer, primary_key=True)
title = Column(Unicode(255))
...

@property
def name(self):
return re.sub(r'[^a-zA-Z0-9 ]','',self.title).replace(' ','-').lower()

当尝试使用 name 执行查询时,SQLAlchemy 抛出错误:

Session.query(Entry).filter(Entry.name == my_name).first()
>>> ArgumentError: filter() argument must be of type sqlalchemy.sql.ClauseElement or string

调查了一段时间后,我发现也许 comparable_using() 可以提供帮助,但我找不到任何显示引用表另一列的比较器的示例。

这是否可能或是否有更好的方法?

最佳答案

从 SqlAlchemy 0.7 开始,您可以使用 hybrid_property 实现此目的请在此处查看文档:http://www.sqlalchemy.org/docs/orm/extensions/hybrid.html

关于python - SQLAlchemy:根据表字段查询自定义属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4738259/

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