科研管理系统

class Researcher(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(100), nullable=False)
field = db.Column(db.String(200))
class Project(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(100), nullable=False)
leader_id = db.Column(db.Integer, db.ForeignKey('researcher.id'))
budget = db.Column(db.Float)
接下来,我们使用数据代理来处理数据请求。例如,当用户查询某个研究人员的信息时,我们可以这样实现:
class ResearcherProxy:
def __init__(self, researcher_id):
self.researcher_id = researcher_id
def get_researcher_info(self):
researcher = Researcher.query.get(self.researcher_id)
return {
'name': researcher.name,
'field': researcher.field
}
这样,通过数据代理,我们可以将复杂的数据库操作封装起来,提供给前端更简洁的接口。