[英]One to Many Relationship NoForeignKeysError
為具有多個配置文件的用戶創建一對多關系時遇到麻煩。 這是我的模型:
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:無法確定關系User.profiles的父/子表之間的聯接條件-沒有鏈接這些表的外鍵。 確保引用列與ForeignKey或ForeignKeyConstraint關聯,或指定“ primaryjoin”表達式。
我已經在網上搜索過,無法弄清楚我的設置不正確。
我認為您應該使用users.id
而不是user.id
因為表名是“ users”。
user_id = db.Column('user_id', db.String(32), db.ForeignKey('users.id'))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.