我有一个看起来像这样的SQLAlchemy模型:
class Guest(db.Model):
name = db.Column(db.String)
current_status_id = db.Column(db.Integer, db.ForeignKey('approval_status.id'))
current_status = db.relationship('ApprovalStatus')
我想要一个这样的方法:
def reset_status(self):
awaiting_response = db.session.query(Approvalstatus).get(1)
self.current_status = awaiting_response
出于某种原因,从模型内部进行查询对我来说似乎不合适。但是,该逻辑似乎属于Guest
类。
当前,我有一个客户服务,看起来像这样:
def reset_guest_approval(guest):
awaiting_response = db.session.query(Approvalstatus).get(1)
guest.current_status = awaiting_response
如果可能,我想将逻辑合并到类中。最佳做法是什么?
答案 0 :(得分:1)
在类似的情况下,我使用object_session
在类函数中进行查询。
class Guest(db.Model):
name = db.Column(db.String)
current_status_id = db.Column(db.Integer, db.ForeignKey('approval_status.id'))
current_status = db.relationship('ApprovalStatus')
def reset_status(self):
awaiting_response = object_session(self).query(Approvalstatus).get(1)
self.current_status = awaiting_response