SQLAlchemy:动态加载到另一个模块的反向引用

时间:2013-01-28 09:15:28

标签: python sqlalchemy

假设我在一个模块中有一个User模型。

class User(Model):
    id = Column(Integer, primary_key=True)

然后我想从另一个模块中的Post模型向User添加动态加载的多对一关系。此外,我不想用来自其他模块的关系“污染”用户的模型定义。

除了从Post模型外部向User类添加字段之外,还有更简洁的方法吗?

class Post(Model):
    user_id = Column(Integer, ForeignKey('user.id'))

User.posts = relationship('Post', backref='user', lazy='dynamic')

由于

1 个答案:

答案 0 :(得分:9)

好吧,你可以在Post模型中定义它(见下文)

class Post(Model):
    user_id = Column(Integer, ForeignKey('user.id'))
    user = relationship('User', backref=backref('posts', lazy='dynamic'))