Sqlalchemy 炼金术。如何将字段打包回查询中?
为了满足我的需要,我使用了表间连接。在循环中,我需要检查条件的相关性,并在执行时将查询添加到最终选择中。请告诉我如何将满足条件的当前查询添加到“答案”选择中 这是我的密码:Sqlalchemy 炼金术。如何将字段打包回查询中?,sqlalchemy,graphql,graphene-python,Sqlalchemy,Graphql,Graphene Python,为了满足我的需要,我使用了表间连接。在循环中,我需要检查条件的相关性,并在执行时将查询添加到最终选择中。请告诉我如何将满足条件的当前查询添加到“答案”选择中 这是我的密码: def resolve_doops(self,info): answer=[] query = db.query(DOOP,Direction,Category,Category_DOOP) query = query.join(Direction, Direction.
def resolve_doops(self,info):
answer=[]
query = db.query(DOOP,Direction,Category,Category_DOOP)
query = query.join(Direction, Direction.id_cluster == DOOP.id_cluster)
query = query.join(Category_DOOP, Category_DOOP.id_doop == DOOP.id)
query = query.join(Category, Category_DOOP.id_category == Category.id)
query = query.all()
for doop,diretion,category_doop,category in query:
if (doop.ovz == bool(self.ovz)):
answer.append(????)
return answer
Upd(我发现了一个更优雅的解决方案):
现在还不太清楚你想在这里做什么-你想做
回答.附加((doop,diretion,category\u doop,category))
?如果不是,你认为“当前查询”是什么意思?@snakecharmerb谢谢你的回答!它对我有效:answer.append((doop,diretion,category_doop,category)),但我可以从另一个角度来处理它,在你发表评论之前,我已经修改了这个方法并创建了一个已经启用过滤的查询。
def resolve_doops(self,info):
query = db.query(DOOP,Direction,Category,Category_DOOP)
query = query.filter_by(ovz=self.ovz)
query = query.join(Direction, Direction.id_cluster == DOOP.id_cluster)
query = query.filter(Direction.name.in_(self.direction))
query = query.join(Category_DOOP, Category_DOOP.id_doop == DOOP.id)
query = query.join(Category, Category_DOOP.id_category == Category.id)
query = query.filter(Category.age_max.in_(self.age),Category.age_min.in_(self.age))
query = query.all()
return query