gpt4 book ai didi

python - 炼金术;外键错误

转载 作者:行者123 更新时间:2023-11-29 00:13:24 25 4
gpt4 key购买 nike

我的问题归结为以下代码:

class TaskOneLine(db.Model):
userId = db.Column(db.String(64), primary_key=True)
timestampStart = db.Column(db.BIGINT, primary_key=True, autoincrement=False)
includedObjects = db.relationship("TaskOneIncludedObject")

class TaskOneIncludedObject(db.Model):
id = db.Column(db.BIGINT, primary_key=True)

#parent foreign key required for one-to-many-relation
userId = db.Column(db.String(64), db.ForeignKey('task_one_line.userId'))
timestampStart = db.Column(db.BIGINT, db.ForeignKey('task_one_line.timestampStart'), autoincrement=False)

(这是来自 flask 的包装 sql-alchemy,但我很确定这对这个问题无关紧要。)

上面给了我:

sqlalchemy.exc.OperationalError: (OperationalError) (1005, "Can't create table 'crowdtracker.task_one_included_object' (errno: 150)")

我不明白为什么会出现此错误。当我删除 timestampStart 列时,查询将运行。我还向外键添加了 autoincrement=False 但没有成功。

最好的问候

最佳答案

我现在通过 ForeignKeyConstraint() 定义复合外键解决了这个问题,它似乎支持复合外键。 ( http://docs.sqlalchemy.org/en/rel_0_9/core/constraints.html#defining-foreign-keys )

关于python - 炼金术;外键错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23851550/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com