首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >SQLAlchemy循环依赖-如何解决?

SQLAlchemy循环依赖-如何解决?
EN

Stack Overflow用户
提问于 2011-05-01 02:11:08
回答 1查看 6.3K关注 0票数 18

我有两张表,NewsFiles

代码语言:javascript
复制
# 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。我已经在logo关系中尝试了post_update=True,但是它没有改变任何东西。

解决这个问题的正确方法是什么?

以下情况是可能的(以防万一):

  • 文件没有分配新闻,或者只分配了一个新闻。
  • 如果文件没有新闻,则也没有将此文件引用为其徽标的新闻。
  • 单个新闻可以有多个文件,但这些文件中只有一个可以是其news.

如果新闻有logo,则引用的文件也会将此新闻作为其徽标

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-05-01 02:59:02

use_alter -传递给底层ForeignKeyConstraint以指示应从CREATE TABLE/ DROP TABLE语句外部生成/删除约束。有关详细信息,请参阅该类的构造函数。

https://docs.sqlalchemy.org/en/13/core/constraints.html#sqlalchemy.schema.ForeignKeyConstraint.params.use_alter

票数 23
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5843704

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档