簡體   English   中英

一對多關系NoForeignKeysError

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM