欢迎来到山村网

编写Python脚本把sqlAlchemy对象转换成dict的教程

2019-03-02 13:41:22浏览:733 来源:山村网   
核心摘要:  这篇文章主要介绍了编写Python脚本把sqlAlchemy对象转换成dict的教程,主要是基于Python的model类构建一个转换的方法,需要的

  这篇文章主要介绍了编写Python脚本把sqlAlchemy对象转换成dict的教程,主要是基于Python的model类构建一个转换的方法,需要的朋友可以参考下

  在用sqlAlchemy写web应用的时候,经常会用json进行通信,跟json最接近的对象就是dict,有时候操作dict也会比操作ORM对象更为方便,毕竟不用管数据库session的状态了。

  假设数据库里有一张post表,其中一种方法就是

  ?

1 2 p = session.query(Post).first() p.__dict__

  但由于p是sqlAlchemy的对象,所以p.__dict__中会有一些其他的属性比如_sa_instance这种我们不需要关注的

  那么我们可以给model的基类加一个方法,假设models.py中原来是这样

  ?

1 2 3 4 5 6 base = sqlalchemy.ext.declarative.declarative_base() class Post(base): __tablename__ = 'post' id = Column(Integer, primary_key=True) title = Column(String)

  那么我们可以加一个to_dict()方法到base类中

  ?

1 2 3 4 def to_dict(self): return {c.name: getattr(self, c.name, None) for c in self.__table__.columns} base.to_dict = to_dict

  这样就可以

  ?

1 2 p = session.query(Post).first() p.to_dict()

  当然,如果model没有和table绑定的话model里是没有__table__的信息的,可能也会出问题,不过我目前觉得这样最方便了

(责任编辑:豆豆)
下一篇:

Python的Django框架中TEMPLATES项的设置教程

上一篇:

详解Lua中的表的概念及其相关操作方法

  • 信息二维码

    手机看新闻

  • 分享到
打赏
免责声明
• 
本文仅代表作者个人观点,本站未对其内容进行核实,请读者仅做参考,如若文中涉及有违公德、触犯法律的内容,一经发现,立即删除,作者需自行承担相应责任。涉及到版权或其他问题,请及时联系我们 xfptx@outlook.com