msyz999明仕亚洲官网SQLAlchemy 东西中断 JSON 序列化, 有什么好的办法 齐心协力 ?

2016/11/12

题目

将 SQLAlchemy 东西, 转化为Python-dict, 或许序列化成 JSON, 主要完成:

  1. to_dict

  2. to_json

我自己完成了一种做法, 但是总以为另有些题目 但是又说不明晰 , 大家有什么比较好的办法?

相干代码

将这两个办法直接绑定到Base下面, 则承继Base的类, 都能运用

def _gen_tupleself:
    def convert_datetimevalue:
        if value:
            return value.strftime"%Y-%m-%d %H:%M:%S"
        else:
            return ""

    for col in self.__table__.columns:
        if isinstancecol.type, DateTime:
            value = convert_datetimegetattrself, col.name
        elif isinstancecol.type, Numeric:
            value = floatgetattrself, col.name
        else:
            value = getattrself, col.name
        yield col.name, value


def to_dictself:
    return dictself._gen_tuple


def to_jsonself:
    return json.dumpsself.to_dict

Base._gen_tuple = _gen_tuple
Base.to_dict = to_dict
Base.to_json = to_json

谢邀

可以理解你想要序列化的想法,我猜你想完成如下的结果:

user = User.query.filter_byid=id.first

response = jsonifyuser.to_json

过去我也不断在追随如许的办法,但是如许直接把一个东西里面的字段转成json意味着很多前端不需求的字段也会一同前往。集团并不是很喜好,我偏向于前端需求什么就给什么。以是如许复杂的to_json操纵并不是很好,除非你结合一些序列化的插件,可以很好的控制哪些需求前往给前真个,不过看了一圈如许的插件,没有运用起来很方便的。反而是自己组装来的更矫捷,以是冉冉的就不再去追随如许的办法了。假如你比较喜好如许的可以去看看django-rest-framework这个插件,里面的序列化大约是你想要的。除了SQLAlchemy这个ORM外,有个Orator的ORM,集团以为还不错,光看源码就以为很舒适,无机遇你可以去看看。

以是,总结来说并没有什么好的举荐,固然你可以自己去完成一个,大约便是如许了。

为什么不用 pickle? 还是说由于必需序列化成 JSON?

mongodb + mongokit应该比较对你胃口

(看完/读完)这篇文章有何感想! msyz999明仕亚洲官网的分享…

发表评论

姓名 *
电子邮件 *
站点