我有两个表,News
和Files
:
# unrelated columns removed
class News(db.Model):
id = db.Column(db.Integer, primary_key=True)
file_id_logo = db.Column(db.Integer, db.ForeignKey('files.id'))
logo = db.relationship('File', lazy=False)
class File(db.Model):
id = db.Column(db.Integer, primary_key=True)
news_id = db.Column(db.Integer, db.ForeignKey('news.id'))
news = db.relationship('News', lazy=False, backref=db.backref('files'))
添加file_id_logo
fkey后,SQLalchemy引发了CircularDependencyError。
我已经在post_update=True
关系中尝试了logo
,但它没有改变任何内容。
解决这个问题的正确方法是什么?
以下情况是可能的(如果重要的话):
logo
。logo
,则引用的文件也会将此新闻作为其news
。答案 0 :(得分:23)
use_alter - 传递给底层的ForeignKeyConstraint,指示应该从CREATE TABLE / DROP TABLE语句外部生成/删除约束。有关详细信息,请参阅该类的构造函数。