首页 > 解决方案 > SQLAlchemy ORM多对多表关系-TypeError:不支持的操作数类型

问题描述

我目前正在尝试遍历我已加载的一些 JSON 数据,并使用 SQLAlchemy 的 ORM 将该数据插入到我的 MySQL 服务器中。

我创建了一个反映我的表和相应列的类,并且在创建该类的实例时遇到了一个独特的错误

IEcow = Dataset_Table()

我已经仔细检查了我的模型是否正确导入,并且它们在我创建该对象的地方可用。

但我不断得到: File "<string>", line 1, in <module> TypeError: unsupported operand type(s) for -: 'Table' and 'Table' 我认为这是因为我没有为班级提供所需的信息(id、姓名等),但即使我创建了一个带有虚拟班级的“虚拟”表,并且什么都不需要,该类的实例化仍然会在上面吐出该错误。

我要附上我的模型,也许你会看到我缺少的东西。

谢谢!

class Dataset_Table(Base):
    __tablename__ = 'dataset'

    dataset_id = Column(INTEGER(10), primary_key=True)
    dataset_name = Column(String(45), nullable=False)
    dataset_title = Column(String(45))
    dataset_comment = Column(Text, nullable=False)
    dataset_is_archived = Column(TINYINT(4), nullable=False, server_default=text("'0'"))
    Dataset_date_created = Column(TIMESTAMP)

tables = relationship('Table', secondary='dataset - table')

标签: pythonsqlalchemymany-to-many

解决方案


推荐阅读