python - 无法使用 SQL ALchemy 创建外键

标签 python flask flask-sqlalchemy

模型中的代码如下

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)

然后使用 migrate 将模型同步到数据库。 但数据库中的post表不会生成指向user表的外键。

最佳答案

post_id = db.Column(db.Integer)
relationship(
    "Post",
    foreign_keys=[post_id],
    primaryjoin="User.post_id == Post.id",
    backref=backref("author", lazy="dynamic")
)

关于python - 无法使用 SQL ALchemy 创建外键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54920512/

相关文章:

python - 在 Google App Engine 中调试 Jinja2

python - @login_required 不是重定向flask-login

python - OFFSET 不能为负

python - 如何在 SQLAlchemy 中模拟 `UNIQUE` 约束?

python - 忽略 Pandas 数据框中的非数字字符串值

python - 为什么在安装eli5时出现EnvironmentNotWritableError

python - 熄灯

python - 如何使用 nginx + uwsgi 部署 Flask-restplus 应用程序

reactjs - Flask + React 应用程序部署到 Heroku 时失败

python - 在 flask sqlalchemy 中使用外键引用值