from sqlalchemy import Column, Integer, TIMESTAMP, Float, ForeignKey from sqlalchemy.sql import func from sqlalchemy.orm import relationship from .base_model import Base class Purchase(Base): __tablename__ = "purchase" id = Column(Integer, primary_key=True) user_id = Column(Integer, ForeignKey("user.id"), nullable=False) used_coupon_id = Column(Integer, ForeignKey("coupon.id"), nullable=True) date_purchased = Column(TIMESTAMP, nullable=True) total = Column(Float, nullable=True) user = relationship("User", back_populates="purchases", foreign_keys=[user_id]) coupon = relationship("Coupon", back_populates="purchases", foreign_keys=[used_coupon_id]) purchase_entries = relationship("PurchaseEntry", back_populates="purchase")