在使用sqlalchemy声明我的flask应用程序模型时,我面临一个错误。 我有两种型号:
路径: api.blueprints.admin.models
from api.models import *
class Blacklist(db.Model):
__tablename__ = 'blacklist'
id = db.Column(db.Integer, primary_key=True)
jti = db.Column(db.String(36), nullable=False)
user_id = db.Column(db.Integer, db.ForeignKey('users.id', ondelete='SET NULL'), nullable=True)
created = db.Column(db.DateTime, nullable=False, default=datetime.utcnow)
路径: api.models:
from api.extensions import db, ma
class User(db.Model):
__tablename__ = 'users'
id = db.Column(db.Integer, primary_key=True)
blacklist_user = db.relationship('Blacklist', backref='group', lazy=True)
我试图在用户模型上传播黑名单模型以创建一个文件,但似乎没有,因为我没有引用用户关系黑名单
sqlalchemy.exc.InvalidRequestError: When initializing mapper mapped class User->users, expression 'Blacklist' failed to locate a name ("name 'Blacklist' is not defined"). If this is a class name, consider adding this relationship() to the <class 'api.models.User'> class after both dependent classes have been defined.
两个不起作用的解决方案:
尝试将黑名单模型导入到用户文件似乎会导致循环导入错误
正在尝试设置init.py文件并将这两个文件导入为:
from api.models import *
from api.blueprints.admin.models import *
Base = Base = declarative_base()
and let both models inherit from it instead of db.Models
目前没有回答
相关问题 更多 >
编程相关推荐