X~~X~~ 2023-09-21 15:29 采纳率: 34.2%
浏览 35
已结题

python flask 报错


class RoleModel(db.Model, SerializerMixin):
    serialize_only = ("id", "name", "desc", "create_time")
    __tablename__ = 'role'
    __table_args__ = {'extend_existing': True}
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    name = db.Column(db.String(50), nullable=False)
    desc = db.Column(db.String(200),nullable=True)
    create_time = db.Column(db.DateTime,default=datetime.now)
    permissions = db.Column(db.Integer,default=Permission.VISITOR)



class UserModel(db.Model,SerializerMixin):
    serialize_rules = ("-_password", )
    __tablename__ = "user"
    __table_args__ = {'extend_existing': True}
    # shortuuid  正常来说主键都是整型和自增长的,但是再商业网站事不合适的,比如用户中心 用户的主键 能猜出网站多少人,通过自增长的id
    id = db.Column(db.Integer, primary_key=True, autoincrement=True, comment='用户id')
    # email = db.Column(db.String(50), unique=True, nullable=False)
    username = db.Column(db.String(50), nullable=False)
    _password = db.Column(db.String(200), nullable=False)
    avatar = db.Column(db.String(100))
    signature = db.Column(db.String(100))
    join_time = db.Column(db.DateTime, default=datetime.now)
    is_staff = db.Column(db.Boolean, default=False)
    is_active = db.Column(db.Boolean, default=True)
    role_id = db.Column(db.Integer, db.ForeignKey("role.id"))

    role = db.relationship("RoleModel", backref=db.backref("users"))

报错


sqlalchemy.exc.InvalidRequestError: Multiple classes found for path "RoleModel" in the registry of this declarative base. Please use a fully module-qualified path.
  • 写回答

14条回答 默认 最新

  • 前网易架构师-高司机 优质创作者: 人工智能技术领域 2023-09-21 16:20
    关注

    假设你的文件路径如下 database/models/family_1.py
    你要这样用:

    db.relationship("database.models.family_1.RoleModel", backref=db.backref("users")) 
    
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 9月28日
  • 创建了问题 9月21日