假设我有几个表,并且要执行连接查询:
schedule_calendars = ScheduleCalendar.query\
.join(Schedule)\
.join(ClinicBranchHasDoctor)\
.filter_by(clinic_branch_id=clinic_id, doctor_has_specialty_id=doctor_speciality_id).all()
这里的问题是,我的结果将只包含ScheduleCalendar类的属性。如何查询以使结果包含所有联接表的属性。
日程安排:
id = Column(db.Integer, primary_key=True)
added_date = Column(db.DateTime(timezone=True), default=get_current_time, nullable=False)
start_date = Column(db.Date, nullable=False)
name = Column(db.String(128), nullable=False)
is_valid = Column(db.Boolean, default=IS_VALID, nullable=False)
slot_size = Column(db.Integer, default=30)
日程日历:
schedule_id = Column(db.Integer, db.ForeignKey("schedules.id"), nullable=False)
客户BranchHasDoctor:
schedule_id = Column(db.Integer, db.ForeignKey("schedules.id"), nullable=False)
我跳过了一些属性。我认为最重要的是我的表有适当的约束,否则连接将失败。
你需要给你的类添加一个反向引用。
例如,在
ScheduleCalendar
类中,添加:在
Schedule
类中添加:现在您可以从
ScheduleCalendar
访问Schedule
对象。在您的示例中,您可以这样访问它:
相关问题 更多 >
编程相关推荐