sqlalchemy 使用上的小 tips

2017-02-08 00:56:06 +08:00
 honmaple

1.sqlalchemy object 序列化为 json

posts = Post.query.all()
serializer = Serializer(posts,many=True)
data = serializer.data

2.像 django orm 一样使用 sqlalchemy

posts = Post.query.filter_by(id__in=['1','2','3'],tags__name='sqlalchemy').order_by('-id').all()

3.去掉一些 sqlalchemy 的重复工作

# 关联用户表
class Post(ModelUserMixin, Model):
    
    user_related_name = 'posts'
    titile = ...

地址:https://github.com/honmaple/maple-json

代码很简单,没写注释应该也能看懂,感觉不错,所以分享出来一下

1633 次点击
所在节点    Python
4 条回复
whnzy
2017-02-08 17:28:54 +08:00
不如在 PostModel 加一个 to_json 方法。
junnplus
2017-02-08 23:21:16 +08:00
@whnzy +1
honmaple
2017-02-11 19:27:47 +08:00
@whnzy @junnplus 当然可以自定义一个 to_json 的方法,但这样的话工作量不是要增加很多吗?我当时的初衷就是不用自己写,就可以快速序列化 object 生成 json(其实是看了 django rest framework Serializer 的设计,想实现一个类似的东西)
junnplus
2017-02-11 23:42:26 +08:00
to_json 放在 basemodel 就行。。。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/338906

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX