flask_restful 添加字段问题

发布于 2022-09-07 19:34:24 字数 860 浏览 19 评论 0

QaAnswer 表中有一个本表中的字段a_answerid,在json返回的时候我想在 QaAnswer 中增加一个字段不知道该怎么增加

class QaAnswer(db.Model):
    __tablename__ = 'qa_answer'

    id = db.Column(db.Integer, primary_key=True)
    a_questionid = db.Column(db.Integer, nullable=False)
    a_answerid = db.Column(db.Integer)
    a_respondcontent = db.Column(db.String(255), nullable=False)
    a_createtime = db.Column(db.DateTime, nullable=False)
    a_likecount = db.Column(db.Integer)
    a_isshow = db.Column(db.Integer)
    a_userid = db.Column(db.Integer, nullable=False)

我想返回下面样式的json

                "anwserid": 3,
                "respondcontent": "11111",
                "content": "不对不对你",
                "createtime": "2018-07-20 12:03:07",
                "likecount": "0",
                "userid": 9449

增加一个字段,不知道如何操作

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

若水般的淡然安静女子 2022-09-14 19:34:24

如果你使用 flask-sqlalchemy 来操作数据库的话,实现你的方法有一些难度,不过也是用方法的。

你可以看看我的这篇文章基于 oracle 的 flask 项目(五)——报表下载中的使 sqlalchemy 数据 json 化 这一部分内容。


1、开始画重点,我给你的例子就是对让一个 flask-sqlalchemy 对象 json 化,记住是让一个flask-sqlalchemy 对象,不是两个也不是多个,仅仅是一个。

所以,你增加一个字段,你就得在你的 models 的类对象中加一个属性, 根据你的例子,你需要写如下代码

class QaAnswer(db.Model):
    __tablename__ = 'qa_answer'

    id = db.Column(db.Integer, primary_key=True)
    a_questionid = db.Column(db.Integer, nullable=False)
    a_answerid = db.Column(db.Integer)
    a_respondcontent = db.Column(db.String(255), nullable=False)
    a_createtime = db.Column(db.DateTime, nullable=False)
    a_likecount = db.Column(db.Integer)
    a_isshow = db.Column(db.Integer)
    a_userid = db.Column(db.Integer, nullable=False)
    
    @proprety
    def content()
        pass

话题引到如此,你可以忽略我的文章的内容,不要再想如何使一个 flask-sqlalchemy 对象 json 化

2、根据你的代码的书写格式,I 服了 U。你的类对象里都一个 a_ 的前缀,但是你的 json 对象里是没有的。这需要你处理一下。
代码如下:

class QaAnswer(db.Model):
    __tablename__ = 'qa_answer'

    id = db.Column(db.Integer, primary_key=True)
    a_questionid = db.Column(db.Integer, nullable=False)
    a_answerid = db.Column(db.Integer)
    a_respondcontent = db.Column(db.String(255), nullable=False)
    a_createtime = db.Column(db.DateTime, nullable=False)
    a_likecount = db.Column(db.Integer)
    a_isshow = db.Column(db.Integer)
    a_userid = db.Column(db.Integer, nullable=False)
    
    @classmethod
    def to_json():
        "anwserid": 变量内容,
        "respondcontent": 变量内容,
        "content": 变量内容,
        "createtime": 变量内容,
        "likecount": 变量内容,
        "userid": 变量内容

所有的变量内容,在你的类里都定义好。
我只能帮你到此种地步了,其它的,已经超出我的知识储备,献丑了。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文