gpt4 book ai didi

python - 一对多关系 NoForeignKeysError

转载 作者:行者123 更新时间:2023-11-29 19:43:34 29 4
gpt4 key购买 nike

为具有多个配置文件的用户创建一对多关系时遇到问题。这是我的模型:

class User(db.Model):
__tablename__ = 'users'
id = db.Column('id', db.String(32), primary_key=True)
email = db.Column('email', db.String(45))
password = db.Column('password', db.String(45))
profiles = db.relationship('Profile', backref='user', lazy='dynamic')

class Profile(db.Model):
__tablename__ = 'profiles'
id = db.Column('id', db.String(32), primary_key=True)
user_id = db.Column('user_id', db.String(32), db.ForeignKey('user.id'))
first_name = db.Column('first_name', db.String(45))
last_name = db.Column('last_name', db.String(45))
dob = db.Column('dob', db.String(45))
sex = db.Column('sex', db.String(45))
height = db.Column('height', db.String(45))
weight = db.Column('weight', db.String(45))
zip_code = db.Column('zip_code', db.String(45))
date_created = db.Column('date_created', db.String(45))

我收到以下错误:

sqlalchemy.exc.NoForeignKeysError: Could not determine join condition between parent/child tables on relationship User.profiles - there are no foreign keys linking these tables. Ensure that referencing columns are associated with a ForeignKey or ForeignKeyConstraint, or specify a 'primaryjoin' expression.

我浏览了网络,但无法弄清楚我是如何错误设置的。

最佳答案

我认为您应该使用users.id而不是user.id,因为表名称是“users”。

user_id = db.Column('user_id', db.String(32), db.ForeignKey('users.id'))

关于python - 一对多关系 NoForeignKeysError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41204168/

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