Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

537
Visualizações
Error de relación de clase de asignación de SQLAlchemy

Me enfrento a este InvalidRequestError de que mis relaciones entre dos clases no están asignadas correctamente. Esta es una relación de uno (pregunta) a muchos (opción).

 from sqlalchemy.ext.declarative import declartive_base Base = declarative_base() class ChoiceModel(Base): __tablename__ = 'choice' id_seq = Sequence('choice_id_seq', metadata=Base.metadata) id = Column(Integer, id_seq, server_default=id_seq.next_value(), primary_key=True, index=True) choice_context = Column(Text, nullable=False) question_id = Column(Integer, ForeignKey('question.id')) question = relationship('QuestionModel', back_populates='choices') class QuestionModel(Base): __tablename__ = 'question' id_seq = Sequence('question_id_seq', metadata=Base.metadata) id = Column(Integer, id_seq, server_default=id_seq.next_value(), primary_key=True, index=True) correct = Column(Boolean, nullable=False) choice_list = Column(ARRAY(Integer)) choices = relationship("ChoiceModel", back_populates='question', cascade="all, delete-orphan")

Y el error que estoy recibiendo,

 sqlalchemy.exc.InvalidRequestError: When initializing mapper mapped class ChoiceModel->choice, expression 'Question' failed to locate a name ('Question'). If this is a class name, consider adding this relationship() to the <class 'project.core.models.choice_model.ChoiceModel'> class after both dependent classes have been defined.

He leído preguntas similares del documento oficial de SQLAlchemy en stackoverflow que la mayoría de ellos usaban un nombre de clase incorrecto o no tenían back_populates .
Mis preguntas son,
¿Debería tener que cambiar el nombre de mis clases, como Choice , Question en lugar de tener un Model de sufijo?
? Si mapeé correctamente, ¿qué causa este error?
He configurado el nombre, la choice y la question de mis tablas de PostgreSQL

* pitón == 3.10
*ubuntu==20.04
*fastapi==0.73.0
*AlquimiaSQL==1.4.31
*posgresql==14.2

¡Gracias por adelantado!

over 4 years ago · Santiago Trujillo
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda