初始化映射器映射的 SQLAlchemy 时出错

Dan*_*ira 6 python flask python-3.x flask-sqlalchemy

我有一张表,该表在一对多的关系中引用了另外 2 个表。

我已经尝试了很多东西,但我找不到我想做的类似的例子。下面是发生错误时的代码和说明。

对话.py:

from .model import db
from sqlalchemy.dialects.postgresql import JSON

class Conversa(db.Model):
    __tablename__ = "conversas"
    id = db.Column('ConversaId',db.Integer, primary_key=True)
    fkEmpresa = db.Column('FkEmpresa', db.Integer, db.ForeignKey('empresas.empresaId'),nullable=False)
    fkTipoUsuario = db.Column('FKTipoUsuario', db.Integer,db.ForeignKey('tiposUsuarios.tipoUsuarioId'),nullable=False)
    # other fields
Run Code Online (Sandbox Code Playgroud)

Empresas.py:从 .model 导入数据库

class Empresa(db.Model):
    __tablename__ = "empresas"
    id = db.Column('empresaId',db.Integer, primary_key=True)
    #some fields
    empresaCaracteristicas = db.relationship('EmpresaCaracteristica', backref='empresas', lazy=True)
    conversas = db.relationship('Conversa', backref='empresas', lazy=True)
Run Code Online (Sandbox Code Playgroud)

TipoUsuario.py:

class TipoUsuario(db.Model):
    __tablename__ = "tiposUsuarios"
    id = db.Column('tipoUsuarioId',db.Integer, primary_key=True)
    #some fields
    usuarios = db.relationship('Usuario', backref='tiposUsuarios', lazy=True)
    conversas = db.relationship('Conversa', backref='tiposUsuarios', lazy=True)
Run Code Online (Sandbox Code Playgroud)

我试图插入一些值,但发生此错误:

sqlalchemy.exc.InvalidRequestError: When initializing mapper mapped failed to locate a name ("name '' is not defined"). If this is a class name, consider adding this relationship() to the <class 'banco_nestorgr.tabelas.tipoUsuarioModel.TipoUsuario'> class after both dependent classes have been defined
Run Code Online (Sandbox Code Playgroud)

小智 0

TipoUsuario(db.Model) 类中的 backref:不应该相同

尝试重命名 backref