2
に関連付けられている '比較' オブジェクトどちらも私は、次のはAttributeError: 'InstrumentedAttribute' オブジェクトも
r = Results.query.all()
print(len(r))
を実行すると
class Results(db.Model):
__tablename__ = 'results'
event_id = db.Column(db.Integer, db.ForeignKey(Events.id), primary_key=True)
event = db.relationship('Events', foreign_keys='Results.event_id')
team_id = db.Column(db.Integer, db.ForeignKey(Teams.id), primary_key=True)
team = db.relationship('Teams', foreign_keys='Results.team_id')
position = db.Column(db.Integer, default=0)
rr_position = db.Column(db.Integer, default=0)
score = db.Column(db.Float, default=0)
と
class Teams(db.Model):
__tablename__ = 'teams'
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(64), nullable=False)
country = db.Column(db.String(64), nullable=False)
として定義されたテーブルを持っています私は138行を取得します。
私は
r = db.session.query(Teams.name
, Results.team_id
, Results.event_id).all()
print(len(r))
または
r = Results.query.add_column(Teams.name).all()
print(len(r))
を実行した場合、私は6072行を取得。このクエリでは、それぞれ138行と1つのチーム名が必要です。
しかし、私は
r == db.session.query(Results.team.name
, Results.team_id
, Results.event_id).all()
をしようとすると、私は次のようなエラーに
はAttributeError取得:Results.teamに関連付けられている '比較' オブジェクトは、属性 '名前'
ありがとうございました。関係はどのような条件で使用できますか? –
フィールドに基づいて2つのテーブルの共通部分を使用する場合は、明示的に結合を指定する必要があります。この場合、内部結合を探しています。 – DanGar