sqlalchemy.exc.ProgrammingError: (psycopg2.ProgrammingError) can't adapt type 'Row'

sqlalchemy.exc.ProgrammingError: (psycopg2.ProgrammingError) can't adapt type 'Row'

我使用 PostgreSQL 和 flask-sqlalchemy 创建了一个 3 tables 的数据库。我正在查询 3 tables 以仅获取他们的 ID 然后我检查他们的 ID 以查看是否有任何相似的然后将相似的添加到第三个 table 但任何时候我 运行 它我收到此错误

sqlalchemy.exc.ProgrammingError: (psycopg2.ProgrammingError) 无法适应类型 'Row' [SQL: INSERT INTO login (student_id, name, timestamp) VALUES (%(student_id)s, %(name)s, %(timestamp)s)] [参数: {'student_id': (1234567,), 'name': None , 'timestamp': datetime.datetime(2022, 4, 16, 21, 10, 53, 30512)}]

@app.route('/')
def check():
id = Esp32.query.with_entities(Esp32.student_id).all()
students = Student.query.with_entities(Student.student_id).all()
logins = Login.query.with_entities(Login.student_id).all()
for ids in id:   
    if ids in students and ids not in logins:
        new = Login(student_id= ids)
        db.session.add(new)
        db.session.commit()
return render_template('check.html', newlog = new)

有人能告诉我这个错误是什么意思以及为什么我会得到它

id为查询结果。 ids 是一个查询行。要从该行获取一个值,您需要告诉它是哪一列(即使只有一列):ids['student_id]'.