如何设置SQLAlchemy中两个表之间的关系?

我有两个表:如何设置SQLAlchemy中两个表之间的关系?

  1. 公告
  2. 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

回到顶部