全栈梦想家 2024-01-04 09:47 采纳率: 100%
浏览 11
已结题

在Python Flask中使用SQLAlchemy查询的数据必须像这样一个个设置健名返回吗?

在Python Flask中使用SQLAlchemy查询的数据必须像这样一个个设置健名返回吗?
能不能像Nodejs或者Java那样直接把查询的数据返回给接口

img

  • 写回答

2条回答 默认 最新

  • 无序繁星 2024-01-04 12:05
    关注

    可以像这样设置,就不用一个一个写了

    from sqlalchemy.orm import class_mapper
    
    
    def format_data(data):
        # 格式化数据,处理json无法序列化的数据
        if isinstance(data, datetime.datetime):
            return data.strftime('%Y-%m-%d %H:%M:%S')
        elif isinstance(data, datetime.date):
            return data.strftime("%Y-%m-%d")
        elif isinstance(data, Decimal):
            return float(data)
        else:
            return data
        
    
    class BaseModel(db.Model):
        # 作为模型类基类,继承as_dict方法
        __abstract__ = True
        def as_dict(self):
            return {p.key: format_data(getattr(self, p.key)) for p in class_mapper(self.__class__).iterate_properties}
            
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 1月14日
  • 已采纳回答 1月6日
  • 创建了问题 1月4日