Coverage for backend \ app \ Pedido \ models \ pedidoModel.py: 100.00%
15 statements
« prev ^ index » next coverage.py v7.13.0, created at 2025-12-29 16:13 -0500
« prev ^ index » next coverage.py v7.13.0, created at 2025-12-29 16:13 -0500
1from sqlalchemy import Column, Integer, Float, DateTime, String, ForeignKey, func
2from sqlalchemy.orm import relationship
3from app.database import Base
5class Pedido(Base):
6 __tablename__ = "pedido"
7 idPedido = Column(Integer, primary_key=True, autoincrement=True)
8 idUsuarioCreador = Column(Integer, ForeignKey("usuario.idUsuario"), nullable=False)
9 idUsuarioAprobador = Column(Integer, ForeignKey("usuario.idUsuario"), nullable=True)
10 totalCostoPedido = Column(Float, nullable=False, default=0.0)
11 fechaCreacion = Column(DateTime(timezone=True), server_default=func.now())
12 estadoPedido = Column(String(30), nullable=False)
13 observaciones = Column(String(500), nullable=True)
15 detalles = relationship("DetallePedido", back_populates="pedido")
17 # Relaciones a usuarios para incluir información completa en respuestas
18 #usuarioCreador = relationship("Usuario", foreign_keys=[idUsuarioCreador])
19 #usuarioAprobador = relationship("Usuario", foreign_keys=[idUsuarioAprobador])
20 usuarioCreador = relationship(
21 "Usuario",
22 foreign_keys=[idUsuarioCreador],
23 back_populates="pedidosCreados"
24 )
26 usuarioAprobador = relationship(
27 "Usuario",
28 foreign_keys=[idUsuarioAprobador],
29 back_populates="pedidosAprobados"
30 )