1
我正在使用sqlalchemy和MySQL來構建數據庫。我目前在定義兩個表格之間的特定關係時遇到問題。使用sqlalchemy定義MySQL中的關係
class Experiment_Type(Base):
__tablename__='experiment_types'
id = Column(Integer, primary_key=True)
type = Column(String(100))
class Experiments(Base):
__tablename__ = 'experiments'
id = Column(Integer, primary_key=True)
type = Column(String(100))
sub_id = Column(Integer, ForeignKey('experiment_types.id'))
experiments = relationship('Experiments',
primaryjoin="and_(Experiment_Type.id == Experiments.sub_id,
'Experiments.type' == 'Experiment_Type.type')",
backref=backref('link'))
我想要做的是在實驗sub_id的值相匹配的基礎上類型experiment_types的ID(如果類型experiment_types條目=「類型1」有ID = 1,那麼實驗中以進入type ='type1'應該有一個sub_id = 1)。我甚至不確定這是否是在這種情況下定義關係的最好方法 所以任何建議都是值得歡迎的。
當前的錯誤信息是這樣的:
sqlalchemy.exc.ArgumentError:找不到上關係Experiments.experiments初級連接條件「0 = 1」的任何相關的外鍵列。確保引用列與ForeignKey或ForeignKeyConstraint關聯,或者在連接條件中使用foreign()註釋進行註釋。