Python 我的flask restful api输出中缺少的是null和重复

Python 我的flask restful api输出中缺少的是null和重复,python,postgresql,flask,flask-restful,Python,Postgresql,Flask,Flask Restful,该api是使用Flask、Flask_restful和postgresql构建的 根据文档,我创建了一个资源字段,并在返回字段中使用postgresql命令从数据库中获取相同的资源。我哪里做错了?我做错了什么?输出如图所示。数据库只有2行,但结果显示为null,并显示了2次 输出 您将使用cur.fetchall()获得一个元组列表,因此此代码必须满足您的需要: from flask import Flask from flask_restful import Resource, fields,

该api是使用Flask、Flask_restful和postgresql构建的 根据文档,我创建了一个资源字段,并在返回字段中使用postgresql命令从数据库中获取相同的资源。我哪里做错了?我做错了什么?输出如图所示。数据库只有2行,但结果显示为null,并显示了2次

输出

您将使用
cur.fetchall()
获得一个元组列表,因此此代码必须满足您的需要:

from flask import Flask
from flask_restful import Resource, fields, marshal_with,Api
import psycopg2

conn=psycopg2.connect("dbname=jobkhulyodb user=postgres password=password")
cur=conn.cursor()

app=Flask(__name__)
api=Api(app)

resource_fields = {
    'job_title': fields.String,
    'job_description': fields.String,
}

class Todo(Resource):
    @marshal_with(resource_fields, envelope='resource')
    def get(self, **kwargs):
        cur.execute("SELECT job_title,job_description from jobs")
        return cur.fetchall()


api.add_resource(Todo, '/foo', endpoint='todo')

if __name__=='__main__':
    app.run()

调试提示:尝试打印
cur.fetchall()
并查看得到的结果。此外,一般来说,复制/粘贴比使用屏幕截图要好。[('jobs2','jobs2','jobs3','jobs3 description'),('jobs3','jobs3 description')]。在控制台上运行。打印有我需要的准确数据。但是对于大空间,我想这不是一个空间问题。虽然你错了元素[1],但不是什么大问题。谢谢
...
def get(self, **kwargs):
    ...
    list_ = []
    for elem in cur.fetchall():
        list_.append({ 'job_title': elem[0], 'job_description': elem[1] })
    return list_