我有一个 Flask 应用程序,它的包使用蓝图相互分离。 我有 3 个包,它们具有多对一的关系。
第一个包(蓝图)是身份验证(包含 User_Model):
from Billboard.Apps.models import Android_Model
from Billboard.Survey.models import Survey_Model
class User_Model (db.Model, UserMixin):
__tablename__ = user_model
...
advertised_apps = db.relationship ('Android_Model' , backref = 'user_model' , lazy = True)
advertised_surveys = db.relationship ('Survey_Model' , backref = 'user_model' , lazy = True)
第二个包有我的 User_Model 的外键:
from Billboard.Authentication.models import User_Model
class Survey_Model (db.Model):
__tablename__ = 'survey_model'
...
advertiser_id = db.Column(db.Integer, db.ForeignKey('user_model.id'), nullable=False)
第三个包的型号与第二个相同。
当我运行我的 Flask 应用程序时,我遇到了一些导入错误,我知道它们用于这些模型之间的循环导入。
注意:当我删除这些模型之间的这种关系时,我没有收到错误并且项目正常工作。
有什么办法可以解决吗?
最佳答案
您实际上不需要导入模型来声明与它的关系。请注意,db.relationship
采用字符串作为第一个参数,而不是类。
关于python - 使用蓝图时 Flask Sqlalchemy 循环导入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53613955/