如何从SQLAlchemy中的对象访问相关的ForeignKey对象?

8 投票
1 回答
11179 浏览
提问于 2025-04-17 02:18

比如说,

我有一个对象,它和一个表格对应。也就是说:

location = db.Column(db.Integer, db.ForeignKey('location.id'))

当我访问对象的location属性时,我得到的是实际的外键值。但我不想要这个,我想要的是对象本身(就像在Django的ORM中那样)。谢谢!

1 个回答

8

如果你在使用声明性基础对象(如果你想让它更像Django的话,推荐这样做),那么:

class Child(Base):
    __tablename__ = 'child'
    id = Column(Integer, primary_key=True)

class Parent(Base):
    __tablename__ = 'parent'
    id = Column(Integer, primary_key=True)
    child_id = Column(Integer, ForeignKey('child.id'))
    child = relationship("Child", backref="parents")

可以查看关系文档

撰写回答