SQLAlchemy将行插入桥接选项卡

2024-05-15 04:27:55 发布

您现在位置:Python中文网/ 问答频道 /正文

我的问题是如何使用SQLAlchemy将行插入到桥接表中?我试图查找similar examples,但不能在这里直接应用它们,原因有两个:网桥表有一个额外的列,而且被引用的对象已经存在,我们不想重新创建它们。在

假设我有三张桌子:袜子,鞋子和桥牌。桥接表有3列:

  • ForeignKey_袜子
  • 洋鞋
  • 整数。在

我定义数据库模式的方式与它们在tutorials(请参阅多对多-节)中所做的类似,其中“普通”表定义为类,桥接表定义为表:

bridge = Table(...)
class Sock(Base): ...
class Shoe(Base): ...

我用psql检查数据库模式是否正确创建。我可以插袜子和鞋子。当我试图在桥表中插入内容时,会出现错误。在

首先,我尝试像插入任何普通表一样插入行:

^{pr2}$

提交行产生TypeError: Table object is not callable。我认为这是因为桥是在没有类声明的情况下定义的。我发现了另一个例子,他们也为桥表声明了一个类,所以我尝试了。如果我声明一个类而不是“Table”,那么我的其他类会因为Unresolved reference 'bridge'而中断。声明类的顺序无关紧要。如果我同时声明一个表和一个类,我会得到一个already defined错误。我还试着猜测其他各种语法选项,但现在我已经没有主意了。在


Tags: 数据库声明base定义sqlalchemy错误table模式

热门问题