Spaces:
Sleeping
Sleeping
| # models.py | |
| from sqlalchemy import Column, ForeignKey, Integer, String, Float, DateTime | |
| from sqlalchemy.orm import relationship | |
| from core.database import Base | |
| from datetime import datetime | |
| class Meal(Base): | |
| __tablename__ = "meals" | |
| id = Column(Integer, primary_key=True, index=True) | |
| name = Column(String, unique=True, nullable=False, index=True) | |
| description = Column(String, nullable=False) | |
| price = Column(Float, nullable=False) | |
| category = Column(String, nullable=True) # Optional: To classify meals | |
| orders = relationship("Order", back_populates="meal", cascade="all, delete-orphan") | |
| class Order(Base): | |
| __tablename__ = "orders" | |
| id = Column(Integer, primary_key=True, index=True) | |
| user_id = Column(Integer, ForeignKey("users.id"), nullable=False, index=True) | |
| meal_id = Column(Integer, ForeignKey("meals.id"), nullable=False, index=True) | |
| quantity = Column(Integer, nullable=False) | |
| timestamp = Column(DateTime, default=datetime.utcnow) # To track when the order was made | |
| user = relationship("User", back_populates="orders") | |
| meal = relationship("Meal", back_populates="orders") | |