当非常需要循环引用时,如何避免循环引用



我已经声明了模型,该模型需要在两个模型的模块中使用数据库关系,从而导致"无法导入名称Region"错误。为了更好地说明这一点,这是我的示例模型

项目/位置/模型.py

from project.location.models import Region
class Project(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    title = db.Column(db.String(175), unique=True, nullable=False)
    region = db.Column(db.Integer, db.ForeignKey('regions.id'))
    regions = db.relationship(Region, backref='projects')

从下一个模块,
项目/可交付成果/模型

from project.deliverables.models import Project
class Region(db.Model):
    name = db.Column(db.String(30))
    id = db.Column(db.Integer, primary_key=True)
    projects = db.relationship("Project", backref='regions')

如何才能最好地避免循环导入,以便未来的模型声明不会纠缠于这种现象?

我让它工作了,在这种情况下,我必须引用模型名称而不是使用它们的变量。

最新更新