我的模型文件中有以下内容。我基本上是像子查询一样使用worktype,但这是重复的。Worktype可以返回多个值。我正在用这些数据创建一个数据帧。我需要worktype是dataframe中的一列。目前,我只是遍历dataframe并用下面的代码手动填充该列
我当前用于填充worktype的代码
query = Schedule.query
df = pd.read_sql(query.statement, con=db.engine)
df['worktype'] = ''
for i, r in df.iterrows():
df.at[i, 'worktype'] = Schedule.query.filter(
Schedule.id==r.id).first().worktype()
我的模型文件代码
class Schedule(db.Model):
id = db.Column(db.Integer, primary_key=True)
api_fk = db.Column(db.String(17), db.ForeignKey('wells.api_pk'))
afe_fk = db.Column(db.String(14), db.ForeignKey('excal_afe.afe_pk'))
rig_up = db.Column(db.Date)
rig_down = db.Column(db.Date)
def worktype(self):
return ' ,'.join(str(d.worktype_fk) for d in
scheduleWorktype.query.with_entities(
scheduleWorktype.worktype_fk) .filter(
scheduleWorktype.schedule_well_id==id
class scheduleWorktype(db.Model):
id = db.Column(db.Integer, primary_key=True)
description = db.Column(db.String(24))
worktype_fk = db.Column(db.String(5), db.ForeignKey('wells_worktype.worktype_pk')
最后,我想用类似的语法拉这个来添加类似于这个的\u列
query = Schedule.query.add_column(Schedule.worktype)
目前没有回答
相关问题 更多 >
编程相关推荐