如果需要循环引用,我该如何避免?

时间:2016-02-11 15:31:24

标签: python flask sqlalchemy flask-sqlalchemy flask-wtforms

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

  

项目/位置/ models.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')

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

1 个答案:

答案 0 :(得分:0)

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