Recibo este error cuando intento publicar y crear un nuevo registro usando fastapi y sqlalchemy:
La clase 'endpoints.resultados.ResultadoPruebaSerializer.InsertTResultadoRegla' no está mapeada
Aquí está mi código, gracias por su ayuda.
Modelos Sqlalchemy
@as_declarative() class Base: def as_dict(self) -> dict: return {c.key: getattr(self, c.key) for c in inspect(self).mapper.column_attrs} class TResultadoRegla(Base): __tablename__ = 'T_resultadoReglas' idresultadoReglas = Column(Integer, primary_key=True) idtareas = Column(ForeignKey('T_tareas.idtareas', ondelete='RESTRICT', onupdate='RESTRICT'), nullable=False, index=True) idreglas = Column(ForeignKey('M_reglas.idreglas', ondelete='RESTRICT', onupdate='RESTRICT'), index=True) fecCreacion = Column(Date) resultado = Column(String(30)) M_regla = relationship('MRegla', backref="resultados") T_tarea = relationship('TTarea')Crud Pydantic y esquemas
class InsertTResultadoRegla(BaseModel): idtareas: int idreglas: int fecCreacion: date resultado: str class Config: orm_mode = True def get_regla(db: Session, skip: int = 0, limit: int = 100): return db.query(Regla).offset(skip).limit(limit).all() def check_resultados(db: Session, user_resultados: Dict): db_item = None for resultado in user_resultados: regla = get_regla_per_id(db, resultado["idreglas"]) regla = regla.as_dict() if resultado["resultado"] >= int(regla["minimo"]) and resultado["resultado"] <= int(regla["maximo"]): db_item = InsertTResultadoRegla(idtareas=1, idreglas=regla["idreglas"], fecCreacion=datetime.date.today(), resultado="CUMPLE") db.add(db_item) db.commit() db.refresh(db_item) else: db_item = InsertTResultadoRegla(idtareas=1, idreglas=regla["idreglas"], fecCreacion=datetime.date.today(), resultado="NO CUMPLE") db.add(db_item) db.commit() db.refresh(db_item) return db_item