gpt4 book ai didi

python - 如何设置 SQLAlchemy 关系以访问字段值而不是相关实例

转载 作者:行者123 更新时间:2023-11-28 23:04:47 25 4
gpt4 key购买 nike

以下完全不完整的片段使用声明性语法定义了一个基本的 SQLAlchemy 关系...

Base = declarative_base()
class Movie(Base):
__tablename__ = 'movies'
id = Column(Integer, primary_key=True)
name = Column(String)
director = relationship("People", uselist = False)

class People(Base):
__tablename__ = 'people'
id = Column(Integer, primary_key=True)
name = Column(String, nullable = false)

要访问导演姓名,它应该是这样的:

assert isinstance(movie, Movie) # <-- retrieved with query or whatever
director_name = movie.director.name

如果为了方便,我总是希望 director 关系只给我导演的名字,而不是 People 实例,你该怎么做?例如:它应该像这样工作:

assert isinstance(movie, Movie)
director_name = movie.director # <-- should get the string directly

我 99% 确定我以前做过这个,但再也找不到任何引用代码或文档了。我要找到它有点疯狂。 Stack Overflow 将是一个很好的/永久的答案引用位置。

最佳答案

关联代理用于Python端各种“对象引用->属性引用”样式的转换。文档已更新和重写:

http://www.sqlalchemy.org/docs/orm/extensions/associationproxy.html

关于python - 如何设置 SQLAlchemy 关系以访问字段值而不是相关实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7150851/

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