Reputation: 318508
I have two tables, News
and 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'))
After adding the file_id_logo
fkey, SQLalchemy raised a CircularDependencyError.
I've already tried post_update=True
in the logo
relation, but it did not change anything.
What's the proper way to solve this?
The following cases are possible (in case it matters):
logo
.logo
, the referenced File also has this news as its news
.Upvotes: 17
Views: 8185
Reputation: 896
use_alter – passed to the underlying ForeignKeyConstraint to indicate the constraint should be generated/dropped externally from the CREATE TABLE/ DROP TABLE statement. See that classes’ constructor for details.
Upvotes: 24