Внешние ключи не могут быть созданы с использованием SQL ALchemy - PullRequest
0 голосов
/ 28 февраля 2019

Код в модели выглядит следующим образом:

class User(db.Model):

id = db.Column(db.Integer,primary_key = True)
nickname = db.Column(db.String(64),index = True,unique = True)
email = db.Column(db.String(120),index = True,unique= True)
posts = db.relationship('Post',backref = 'author' , lazy = 'dynamic')

def __repr__(self):
    return '<User %r>' % (self.nickname)

class Post(db.Model):

id = db.Column(db.Integer,primary_key = True)
body = db.Column(db.String(140))
timestamp = db.Column(db.DateTime)
user_id = db.Column(db.Integer,db.ForeignKey('user.id'))

def __repr__(self):
    return '<Post %r>' % (self.body)

Затем синхронизируйте модели с базой данных, используя миграцию.Но таблица post в базе данных не создает внешний ключ, указывающий на таблицу user .

1 Ответ

0 голосов
/ 28 февраля 2019
post_id = db.Column(db.Integer)
relationship(
    "Post",
    foreign_keys=[post_id],
    primaryjoin="User.post_id == Post.id",
    backref=backref("author", lazy="dynamic")
)
...