flask-sqlalchemy 字段关联问题(sqlalchemy.exc.NoForeignKeysError)

错误信息:
sqlalchemy.exc.NoForeignKeysError:Couldnotdeterminejoinconditionbetweenparent/childtablesonrelationshipversion_patch.patchcode-therearenoforeignkeyslinkingthesetables.EnsurethatreferencingcolumnsareassociatedwithaForeignKeyorForeignKeyConstraint,orspecifya'primaryjoin'expression.
代码:
classtrans_inst(db.Model):
__tablename__='TRANS_INST'
__table_args__=SCHEMA#查询带上库名前缀
TRANS_ID=db.Column(db.INTEGER,primary_key=True)
TITLE=db.Column(db.VARCHAR(255),nullable=False)
VERSION_ID=db.Column(db.INTEGER)
PROJECT_ID=db.Column(db.INTEGER,nullable=False)
TEMPLET_ID=db.Column(db.INTEGER)
STAFF_ID=db.Column(db.INTEGER,nullable=False)
CREATE_DATE=db.Column(db.DATE)
STATE=db.Column(db.CHAR(1))
PATCH_ID=db.Column(db.INTEGER,db.ForeignKey('version_patch.PATCH_ID'))
UP_TRANS_ID=db.Column(db.INTEGER)#子单/关联单ID
TYPE=db.Column(db.CHAR(1))#子单关联单类型
SUBMITTER=db.Column(db.INTEGER)
classversion_patch(db.Model):
"""
补丁(版本)定义表
"""
__tablename__='VERSION_PATCH'
__table_args__=SCHEMA#查询带上库名前缀
PATCH_ID=db.Column(db.INTEGER,primary_key=True)
VERSION_ID=db.Column(db.INTEGER)#版本标识
UP_PATCH_ID=db.Column(db.INTEGER)
PATCH_CODE=db.Column(db.VARCHAR(255))
patchcode=db.relationship("trans_inst")
小唯快跑啊
浏览 272回答 2
2回答

回首忆惘然

不知道你的数据库里面的version_patch是大写还是小写的,如果看文档的话你会发现db.ForeignKey中的"表名.字段名","表名"是数据库中的表名,而不是flask-sqlalchemy中的model名。按照你贴出的代码,如果你数据库中version_path不区分大小写,可以考虑换一下Model名,如:VersionPatch试试。

蝴蝶刀刀

自己解决:如下写法classtrans_inst(db.Model):__tablename__='TRANS_INST'__table_args__=SCHEMA#查询带上库名前缀TRANS_ID=db.Column(db.INTEGER,primary_key=True)TITLE=db.Column(db.VARCHAR(255),nullable=False)VERSION_ID=db.Column(db.INTEGER)PROJECT_ID=db.Column(db.INTEGER,nullable=False)TEMPLET_ID=db.Column(db.INTEGER)STAFF_ID=db.Column(db.INTEGER,nullable=False)CREATE_DATE=db.Column(db.DATE)STATE=db.Column(db.CHAR(1))PATCH_ID=db.Column(db.INTEGER,db.ForeignKey(version_patch.PATCH_ID))UP_TRANS_ID=db.Column(db.INTEGER)#子单/关联单IDTYPE=db.Column(db.CHAR(1))#子单关联单类型SUBMITTER=db.Column(db.INTEGER)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript