繁体   English   中英

如何在flask-sqlalchemy上声明关系

[英]How do I do declare relationship on flask-sqlalchemy

我有两个表要链接。

小组
-ID
-名称

事件
-ID
-T1
-T2
-日期

现在,当我尝试根据日期范围获取所有事件时,如果要获取团队名称(t1.name,t2.name),如何创建关系? 我是否正确声明了关系?

from sqlalchemy import ForeignKey
from sqlalchemy.orm import relationship
from app import app, db

class Team(db.Model):
    __tablename__ = 'teams'
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    name = db.Column(db.String)
    teams_event = relationship('Team', secondary=Event.__tablename__, primaryjoin=id == Event.t1, secondaryjoin=id == Event.t2, lazy='dynamic')

class Event(db.Model):
    __tablename__ = 'events'
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    t1 = db.Column(db.Integer, ForeignKey('Team.id'))
    t2 = db.Column(db.Integer, ForeignKey('Team.id'))

看来我找到了解决问题的办法。 现在,我可以获取每个事件的团队信息。

我取代了这种关系

teams_event = relationship('Team', secondary=Event.__tablename__, primaryjoin=id == Event.t1, secondaryjoin=id == Event.t2, lazy='dynamic')

具有以下内容:

t1_teams = relationship('Team', primaryjoin=('Event.t1 == Team.id'))
t2_teams = relationship('Team', primaryjoin=('Event.t2 == Team.id'))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM