Python sqlalchemy.orm.exc.unappedinstanceerror:Class'__内置实例&x27;未映射

Python sqlalchemy.orm.exc.unappedinstanceerror:Class'__内置实例&x27;未映射,python,flask,sqlalchemy,Python,Flask,Sqlalchemy,我是Python新手,仍在学习基础知识。当运行我的程序时,它返回这个错误,我找不到解决这个问题的方法 我的代码如下: from flask_sqlalchemy import SQLAlchemy db = SQLAlchemy() ... class Illness: __tablename__ = "list_illnesses" id = db.Column(db.Integer, primary_key=True) illness = db.Column(d

我是Python新手,仍在学习基础知识。当运行我的程序时,它返回这个错误,我找不到解决这个问题的方法

我的代码如下:

from flask_sqlalchemy import SQLAlchemy

db = SQLAlchemy()

...

class Illness:
    __tablename__ = "list_illnesses"
    id = db.Column(db.Integer, primary_key=True)
    illness = db.Column(db.String, nullable=False)

    def __init__(self, illness):
        self.illness = illness

diseases.csv
每行仅包含一个疾病名称。我已经搜索了几个小时,但似乎找不到问题。

这可能很重要

班级疾病:


不是
db.Model

的子类吗?你在使用Python 2吗?@IljaEverilä我想我在使用Python 3
import csv
import os

from flask import Flask, render_template, request
from models import *

app = Flask(__name__)
app.config["SQLALCHEMY_DATABASE_URI"] = os.getenv("DATABASE_URL")
app.config["SQLALCHEMY_TRACK_MODIFICATIONS"] = False
db.init_app(app)

def main():
    f = open("illnesses.csv")
    reader = csv.reader(f)
    for name in reader:
        foo = Illness(illness=name[0])
        db.session.add(foo)
    db.session.commit()

if __name__ == "__main__":
    with app.app_context():
        main()