Flask的 sqlalchemy 操作要点

1.filter和filter_by的区别

  filter,使用复杂的过滤条件,一般用两个等号进行匹配

  filter,使用简单的过滤条件,一般用一个等号进行匹配

Answer.query.filter(Answer.id == 1).first()
Answer.query.filter_by(id=1).first()

 

 

2.操作原生sql语句

sql = "select g_id, group_concat(id) from classify where g_id is not Null group by g_id;"
cursor = db.session.execute(sql)
result = cursor.fetchall()
cursor.close()

 

3.通过模型查询数据,获取特定的字段使用  with_entities,func. group_concat(字段名)根据分组结果,使用group_concat()来放置每一个分组中某字段的集合,having进行过滤。

result = Classify.query.with_entities(Classify.categories,  func.group_concat(Classify.id)).group_by('categories').having(Classify.g_id > 0).all()

 

 

 

 

 

你可能感兴趣的:(Flask的 sqlalchemy 操作要点)