Python 在django中使用for循环时返回单个值

Python 在django中使用for循环时返回单个值,python,django,django-rest-framework,django-views,Python,Django,Django Rest Framework,Django Views,我试图使用for循环在一个请求中返回两个表数据。当我打印结果时,结果显示正确,但返回第一个表结果时,结果仅显示。我已经试过了,但它不起作用。我在循环内外都使用了return,但没有实现。请提出你的建议 table_name = "table1,table2" table_multiple = list(table_name.split(",")) con = psycopg2.connect(user=username, host=host, datab

我试图使用for循环在一个请求中返回两个表数据。当我打印结果时,结果显示正确,但返回第一个表结果时,结果仅显示。我已经试过了,但它不起作用。我在循环内外都使用了return,但没有实现。请提出你的建议

table_name = "table1,table2"

table_multiple = list(table_name.split(","))
con = psycopg2.connect(user=username, host=host, database=db_name, password=password)
for tablenames in table_multiple:
    t_data = pd.read_sql_query(f"select * from {tablenames}", con)
    table_json = t_data.to_json(orient="records")
    tableDatum = json.loads(table_json)
    print(tableDatum)
    return Response('tableDatum' : tableDatum)

for循环在return语句之后停止,它不会执行第二次执行,因为return语句会终止循环和运行它的函数。如果返回在主脚本中,那么脚本将停止在这里

您应该将提取的数据放入数组中,将这些数据附加到数组中,然后返回数组

table_name = "table1,table2"

table_multiple = list(table_name.split(","))
con = psycopg2.connect(user=username, host=host, database=db_name, password=password)
tableDump = []
for tablenames in table_multiple:
    t_data = pd.read_sql_query(f"select * from {tablenames}", con)
    table_json = t_data.to_json(orient="records")
    tableDatum = json.loads(table_json)
    print(tableDatum)
    tableDump.append(tableDatum)
return Response('tableDump' : tableDump)


厉害。谢谢