首页 > 解决方案 > 将关系视为字符串列表

问题描述

class User:
    id = Column(String(), primary_key=True)
    favorite_names = relationship("FavoriteName")

class FavoriteName:
    user_id = Column(
        String(), 
        ForeignKey("user.id", onupdate="CASCADE", ondelete="CASCADE"),
        primary_key=True
    )
    name = Column(String(), primary_key=True)

在上面的示例中,是否可以将其User.favorite_names视为liststr(表示FavoriteName.name属性)而不是list实例FavoriteName

我希望我能够做类似的事情:

myUser = session.query(User).one()
myUser.favorite_names.append("Samantha")
session.commit()

标签: sqlalchemy

解决方案


正如@SuperShoot 在对我的问题的评论中提到的那样,我正在描述一个association_proxy.


推荐阅读