Jsonify flask-sqlalchemy烧瓶中的多对一关系

托尼

我正在尝试使用flask-restful使rest apis在我使用flask-sqlalchemy作为ORM的地方。这是我的模型类。

class Post(db.Model):
__tablename__ = 'post'
postid = db.Column(db.Integer,primary_key=True)
post = db.Column(db.String(64))
userid = db.Column(db.Integer,db.ForeignKey('user.userid'))

#serialize property used for serializing this class to JSON
@property
def serialize(self):
    return {
        'postid': self.postid,
        'post': self.post,
        'author':self.author
    }

class User(db.Model):
userid = db.Column(db.Integer,primary_key=True)
username = db.Column(db.String(30))
email = db.Column(db.String(20))
posts = db.relationship('Post',backref="author",lazy='dynamic')

#serialize property used for serializing this class to JSON
@property
def serialize(self):
    return {
        'username': self.username,
        'email': self.email
    }

然后填充数据库。现在我正在尝试从中制作json

class PostList(Resource):
    def get(self):
        posts = DL_models.Post.query.all()
        posts = [post.serialize for post in posts]
        return { 'posts': posts }

api.add_resource(PostList, '/twitter/api/v1.0/posts', endpoint = 'posts')

当我将Post中的序列化方法更改为

@property
def serialize(self):
    return {
        'postid': self.postid,
        'post': self.post,
        'author':self.postid
    }

这将返回预期的json输出,但是当我更改'author':self.author为时会出现错误

TypeError: <app.DL_models.User object at 0x7f263f3adc10> is not JSON serializable

我知道我也必须在这些嵌套对象上调用序列化,但是我不知道该怎么做。

或者,请分享您的经验以在sqlalchemy中对关系进行编码。

贾斯坦

由于您已经在使用Flask-Restful,您是否考虑过使用其内置的数据封送解决方案

但是,对于封送复杂的数据结构,我发现棉花糖的工作性能要好一千倍左右,甚至可以使嵌套序列化程序在其他程序中变得容易。还有一个Flask扩展,用于检查端点和输出URL。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Jsonify Flask-SQLAlchemy Flask中的多对一关系

来自分类Dev

Flask的jsonify()中的缩小的JSON

来自分类Dev

SQLAlchemy + Flask多对一关系

来自分类Dev

Flask jsonify对象列表

来自分类Dev

jsonify flask解析错误

来自分类Dev

Django版本的flask.jsonify jsonify

来自分类Dev

Flask中的jsonify和tojson有什么区别?

来自分类Dev

Flask jsonify布尔响应无法在单元测试中解码

来自分类Dev

Flask jsonify returns weird array?

来自分类Dev

Flask jsonify返回奇怪的数组?

来自分类Dev

Flask JSONify:如何转义字符

来自分类Dev

Flask JSONify:如何转义字符

来自分类Dev

烧瓶在 jsonify 中显示错误

来自分类Dev

我正在努力从 python-flask 中的 jsonify 对象中通过键获取值

来自分类Dev

我正在努力从 python-flask 中的 jsonify 对象中通过键获取值

来自分类Dev

无法在Flask WebSocket中使用Jsonify

来自分类Dev

如何正确使用Flask的jsonify()返回json?

来自分类Dev

Flask-SQLAlchemy 中的一对一关系仅以一种方式工作

来自分类Dev

flask sqlalchemy一对一关系问题

来自分类Dev

Flask / SQLAlchemy-一对一关系语法

来自分类Dev

在Flask,SqlAlchemy中获得一对一关系的“ insert_id”

来自分类Dev

Flask JSONify-如何发送回字符串?

来自分类Dev

为什么flask的jsonify方法比较慢?

来自分类Dev

烧瓶,Jsonify在Heroku上的打印效果不佳

来自分类Dev

如何使用flask.jsonify和在flask路由中呈现模板

来自分类Dev

如何使用flask.jsonify和在flask路由中呈现模板

来自分类Dev

与 Flask、SQLAlchemy 添加多对一关系时出现问题

来自分类Dev

Flask-Sqlalchemy,多对多关系中的辅助表的主键

来自分类Dev

Flask-Sqlalchemy,多对多关系中的辅助表的主键

Related 相关文章

热门标签

归档