Для любого, кто имеет опыт работы с SQLAlchemy, я уверен, что это будет просто; Но я не считаю документы полезными, и мне надоело чесать голову.
Дано два класса:
class User(Base):
__tablename__='users'
id = Column(Integer, primary_key=True)
name = Column(String(32))
...
class UserPost(Base):
__tablename__='posts'
id = Column(Integer, primary_key=True)
poster = Column(Integer, ForeignKey('users.id'))
subject = Column(String(32))
Что мне нужно, так это метод:
post = session.query(UserPost).filter_by(subject="foo").one()
print post.poster.name
>>> "John Doe"
Я пытался сделать это с атрибутом relation()
, но я просто продолжал ходить кругами с ошибками в отношении взаимосвязей объединений и так далее: S
Мои отношения выглядят так:
class UserPost(Base):
__tablename__='posts'
id = Column(Integer, primary_key=True)
poster = Column(Integer, ForeignKey('users.id'))
subject = Column(String(32))
poster_user = relation(User, primaryjoin=poster==User.id)
Я новичок в вуду SQLAlchemy, так что будьте нежны! :)
Заранее спасибо, ребята, и заранее извиняюсь, если это превратится в RTFM или неправильный конец игры