当前位置:Gxlcms > 数据库问题 > 将sqlalchemy 查询结果转化成json格式

将sqlalchemy 查询结果转化成json格式

时间:2021-07-01 10:21:17 帮助过:248人阅读

class CompanyGoodsModel(Base): id=Column(Integer, primary_key=True) company_id = Column(Integer) 。。。 #我们在model中定义一个to_json方法,来获取模型的数据 def to_json(self): dict = self.__dict__ if "_sa_instance_state" in dict: del dict["_sa_instance_state"] return dict def get_info_by_id(company_id, category_id): if company_id: data=CompanyGoodsModel.query.filter(CompanyGoodsModel.company_id == company_id).all() return data elif category_id: data = CompanyGoodsModel.query.filter(CompanyGoodsModel.category_id == category_id).all() return data

 

然后在视图层中

  1. @api.route(<span style="color: #800000;">‘</span><span style="color: #800000;">/company_goods</span><span style="color: #800000;">‘</span>, methods=[<span style="color: #800000;">‘</span><span style="color: #800000;">GET</span><span style="color: #800000;">‘</span>, <span style="color: #800000;">‘</span><span style="color: #800000;">POST</span><span style="color: #800000;">‘</span><span style="color: #000000;">])
  2. </span><span style="color: #0000ff;">def</span><span style="color: #000000;"> company_goods():
  3. </span><span style="color: #0000ff;">if</span> request.method == <span style="color: #800000;">‘</span><span style="color: #800000;">GET</span><span style="color: #800000;">‘</span><span style="color: #000000;">:
  4. company_id </span>= request.args.get(<span style="color: #800000;">‘</span><span style="color: #800000;">company_id</span><span style="color: #800000;">‘</span>, <span style="color: #800000;">‘‘</span><span style="color: #000000;">)
  5. category_id </span>= request.args.get(<span style="color: #800000;">‘</span><span style="color: #800000;">category_id</span><span style="color: #800000;">‘</span>, <span style="color: #800000;">‘‘</span><span style="color: #000000;">)
  6. data</span>=<span style="color: #000000;">CompanyGoodsModel.get_info_by_id(company_id, category_id)
  7. result</span>=<span style="color: #000000;">[]
  8. </span><span style="color: #0000ff;">for</span> d <span style="color: #0000ff;">in</span><span style="color: #000000;"> data:
  9. d.goods_info</span>=eval(d[<span style="color: #800000;">‘</span><span style="color: #800000;">goods_info</span><span style="color: #800000;">‘</span><span style="color: #000000;">])
  10. result.append(d.to_json())
  11. </span><span style="color: #0000ff;">if</span> <span style="color: #0000ff;">not</span><span style="color: #000000;"> result:
  12. </span><span style="color: #0000ff;">return</span> json_response(<span style="color: #800000;">‘</span><span style="color: #800000;">0001</span><span style="color: #800000;">‘</span>, {}, <span style="color: #800000;">‘</span><span style="color: #800000;">数据获取失败 </span><span style="color: #800000;">‘</span><span style="color: #000000;">)
  13. </span><span style="color: #0000ff;">return</span> json_response(<span style="color: #800000;">‘</span><span style="color: #800000;">0000</span><span style="color: #800000;">‘</span>, result, <span style="color: #800000;">‘</span><span style="color: #800000;">数据获取成功</span><span style="color: #800000;">‘</span>)

 

 

将sqlalchemy 查询结果转化成json格式

标签:json格式   company   route   for   base   val   model   app   一个   

人气教程排行