【发布时间】:2012-06-09 03:08:43
【问题描述】:
我希望创建从另一个表填充的对象的映射属性。
使用 SQLAlchemy 文档示例,我希望在 Address 类中存在一个 user_name 字段,以便可以轻松查询和访问(无需第二次往返数据库)
例如我希望能够通过user_nameAddress.query.filter(Address.user_name == 'wcdolphin').first()查询和过滤
并且还可以访问所有 Address 对象的 user_name 属性,而不会降低性能,并让它像 __tablename__ 中的属性所期望的那样正确地持久化写入
class User(Base):
__tablename__ = 'users'
id = Column(Integer, primary_key=True)
name = Column(String(50))
addresses = relation("Address", backref="user")
class Address(Base):
__tablename__ = 'addresses'
id = Column(Integer, primary_key=True)
email = Column(String(50))
user_name = Column(Integer, ForeignKey('users.name'))#This line is wrong
我该怎么做?
我发现文档相对难以理解,因为它似乎不符合大多数示例,尤其是 Flask-SQLAlchemy 示例。
【问题讨论】:
-
文档到底有什么问题? sqlalchemy tutorial 涵盖了常见任务的所有内容。在文档的其余部分中可以找到高级概念。
标签: python orm sqlalchemy declarative