如何设置SQLAlchemy中两个表之间的关系?
我有两个表:如何设置SQLAlchemy中两个表之间的关系?
- 公告
- AnnouncementsSchedule
关系是关键one(Announcements)
到many(AnnouncementsSchedule)
:
Announcements.id = AnnouncementsSchedule.announcements_id
我试图描述SQLAlchemy的机型:
第一个表被描述为模型:
class Announcements(db.Model): __tablename__ = 'announcements'
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(150), nullable=False)
text = db.Column(db.Text(), nullable=False)
category = db.Column(db.Integer(), nullable=False)
subcategory = db.Column(db.Integer(), nullable=False)
offer_type = db.Column(db.Integer(), nullable=False)
url = db.Column(db.String(150), nullable=True)
status = db.Column(db.Integer(), nullable=False)
#children = relationship("AnnouncementsSchedule", back_populates="announcements")
二是:
class AnnouncementsSchedule(db.Model): __tablename__ = 'announcements_schedule'
id = Column(Integer, primary_key=True)
week_day = db.Column(db.Integer(), nullable=True)
week_all = db.Column(db.Integer(), nullable=False)
time = db.Column(db.Time(), nullable=False)
announcement_id = Column(Integer, ForeignKey('announcements.announcements_id'))
我做什么了?
回答:
你有列名错误(公告没有announcement_id):
# announcement_id = Column(Integer, ForeignKey('announcements.announcements_id')) # change to ->
announcement_id = Column(Integer, ForeignKey('announcements.id'))
以上是 如何设置SQLAlchemy中两个表之间的关系? 的全部内容, 来源链接: utcz.com/qa/257284.html