我有以下课程:
class Channel(rdb.Model):
rdb.metadata(metadata)
rdb.tablename("channels")
id = Column("id", Integer, primary_key=True)
title = Column("title", String(100))
items = relationship("MediaItem", secondary=channel_items, order_by="MediaItem.titleView", backref="channels")
class MediaItem(rdb.Model):
rdb.metadata(metadata)
rdb.tablename("media_items")
id = Column("id", Integer, primary_key=True)
title = Column("title", String(100))
class User(rdb.Model):
rdb.metadata(metadata)
rdb.tablename("users")
id = Column("id", Integer, primary_key=True)
name = Column("name", String(50))
channels = relationship("Channel", secondary=user_channels, order_by="Channel.titleView", backref="users")
MediaItem与频道相关,频道与用户相关。你知道吗
如果我想从项目和频道中选择一些列,我会这样做:
session = Session()
result = session.query(Channel).join(Channel.items).values(Channel.title, Item.title)
我得到一个Channel类的实例及其项。你知道吗
我的问题是我不知道如何从User,Channel和Item中选择一些列。如何进行查询,例如,我可以选择用户名财产及其渠道频道标题属性和仅包含项目名称财产?你知道吗
提前谢谢!你知道吗
您可以通过定义良好的模型使用sqlalchemy表达式生成器:
您可以在文档中查看: http://www.sqlalchemy.org/docs/orm/query.html?highlight=join#sqlalchemy.orm.query.Query.join
相关问题 更多 >
编程相关推荐