Python 烧瓶。值太多,无法解压缩

Python 烧瓶。值太多,无法解压缩,python,flask,Python,Flask,``嗨!我不明白为什么会出现这个错误谁能帮我 from app import app from flask import render_template import sqlite3 @app.route('/') @app.route('/main') def index(): with sqlite3.connect('/home/vlad/Рабочий стол/jobs_aggregator_Flask/data/data.db') as conn: cur

``嗨!我不明白为什么会出现这个错误谁能帮我

from app import app
from flask import render_template
import sqlite3

@app.route('/')
@app.route('/main')
def index():
    with sqlite3.connect('/home/vlad/Рабочий стол/jobs_aggregator_Flask/data/data.db') as conn:
        cur = conn.cursor()
        cur.execute("SELECT name_vacan,name_company,description,link FROM all_pars_data")
        name_vacan, name_company, description, link = cur.fetchall()
    return render_template('base.html', name_vacan=name_vacan, name_company=name_company,
                           description=description, link=link, )
fetchall()
返回数据库行对象的列表。您正在通过元组分配将这些行分配给四个不同的变量,但是
fetchall()
返回了四行以上的行,因此出现了错误


但是,即使返回了四行,这段代码仍然是错误的,因为您显然希望返回的是列,而不是行。

假设您希望将每列存储在自己的变量中,您可以转置
fetchall
调用的结果(如John Gordon所解释的,该调用返回的是行而不是列)使用
zip
。我认为这是你的意图:

name_vacan, name_company, description, link = zip(*cur.fetchall())

这四个变量中的每一个现在都包含一个长度为n的元组,其中n是查询返回的行数。

欢迎,您可以编辑您的帖子以包含您看到的错误吗?