SQLAlchemy查询Python

2024-10-02 08:18:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我对SQLAlchemy和查询如何工作有点困惑。假设我有一个桌球队,还有一个桌球比赛。我安排好了如果我这么做的话团队。游戏它会把球队打过的所有比赛都叫来。为什么这是有效的:

from table_definitions import Team, Games

blah blah
session.query(Team).first().games

但这失败了:

^{pr2}$

??在

我的第二个问题是在第一个查询中,它返回的是,<table_def.Game object at 0x1b98090>-如何使这个游戏对象成为每个条目中保存的所有数据的列表?在


Tags: fromimport游戏sqlalchemysessiontable团队query
1条回答
网友
1楼 · 发布于 2024-10-02 08:18:39

如果没有团队和游戏的定义,我很难说清楚。显然返回的对象是不同的。在

很可能Team有一个属性,该属性与teams\u表具有相同的属性。在

这是一个可以帮助我们展示许多关系的例子。在

from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy import Table, ForeignKey, Column, Integer, String, Float, Binary, DateTime, Boolean
from sqlalchemy.orm import relationship

Base = declarative_base()

market_target = Table(
    'market_target', Base.metadata,
    Column('market_id', Integer, ForeignKey('market.id'), primary_key=True ),
    Column('target_id', Integer, ForeignKey('target.id'), primary_key=True )
)

class Market(Base):

    __tablename__ = 'market'
    id = Column(Integer, primary_key=True)
    id_market = Column(String(50))
    market = Column(String(50))

    targets = relationship("Target", secondary=market_target, backref="markets")

class Target(Base):

    __tablename__ = 'target'
    id = Column(Integer, primary_key=True)
    id_target = Column(String(100))
    sort = Column(Integer)
    target = Column(String(200))

相关问题 更多 >

    热门问题