【发布时间】:2011-08-30 21:54:13
【问题描述】:
我正在使用 SQLAlchemy 的 ORM 端,并且我已经定义了我的一个列与另一个模型具有外键关系,使用:
Base = declarative_base()
class Model1(Base):
__tablename__ = 'm1'
Name = Column(String, primary_key = True)
info = Column(String)
class Model2(Base):
__tablename__ = 'm2'
Name = Column(String, primary_key = True)
info = Column(String)
other_model = Column(String, ForeignKey('m1.Name'))
然而,我在other_model 属性中添加了什么似乎并不重要,将它提交到数据库似乎更开心,即使没有具有Name 的Model1 实例。
【问题讨论】:
-
您可能还必须使用
relation工厂定义关系。 -
@sayap 使用 SQLite,@Keith 感谢领导,我会试一试
-
看起来可能是 sqlite 的问题。我没有意识到,但显然 sqlite 不支持外键约束......或者至少没有,@ 987654321@。我会安装一个新版本,看看会发生什么
标签: python sqlalchemy