Python 尝试设置一对多关系时获取sqlalchemy.exc.InvalidRequestError

Python 尝试设置一对多关系时获取sqlalchemy.exc.InvalidRequestError,python,sqlalchemy,Python,Sqlalchemy,我有两个表,我正试图使用此关系设置,但当我尝试运行应用程序时,我得到: sqlalchemy.exc.InvalidRequestError:一个或多个映射程序未能 初始化-无法继续初始化其他映射程序 我在这里做错了什么?是不是在item\u id=Column(Integer,ForeignKey('item.id'),nullable=False)行中出现了'item.id'您将Items的表名硬编码为item尝试将ForeignKey的标识符更改为item.id\u item'。外键正在查

我有两个表,我正试图使用此关系设置,但当我尝试运行应用程序时,我得到:

sqlalchemy.exc.InvalidRequestError:一个或多个映射程序未能 初始化-无法继续初始化其他映射程序


我在这里做错了什么?

是不是在
item\u id=Column(Integer,ForeignKey('item.id'),nullable=False)行中出现了'item.id'
您将Items的表名硬编码为
item
尝试将ForeignKey的标识符更改为
item.id\u item'
。外键正在查找
表名。列名
我没有得到与您相同的错误。我得到了“sqlalchemy.exc.norreferencedtableerror:与列“Units.item\u id”关联的外键,无法找到表“item”,用以生成指向目标列“id”的外键……但是当我将
ForeignKey('item.id')
更改为
ForeignKey(“item.id\u item”)时
它似乎工作正常。如果模型位于不同的文件中,您可能需要导入该模型。
class Items(Base):
    __tablename__ = 'Item'

    ID_ITEM = Column(Integer, primary_key=True)
    NAME = Column(String(80, 'SQL_Latin1_General_CP1_CI_AS'), nullable=False)

    addresses = relationship('Unit', backref='items', lazy=True)

class Unit(Base):
    __tablename__ = 'Units'

    ID_UNIT = Column(Integer, primary_key=True)
    VALUE = Column(Numeric(12, 2), nullable=False)

    item_id = Column(Integer, ForeignKey('item.id'), nullable=False)