API Pedidos - Estructura + Modelos

This commit is contained in:
Daniel Arroyo
2026-04-11 03:45:33 +00:00
commit 4d97545599
10 changed files with 100 additions and 0 deletions
View File
View File
View File
+11
View File
@@ -0,0 +1,11 @@
from pydantic_settings import BaseSettings
from functools import lru_cache
@lru_cache()
def get_settings():
return BaseSettings(
app_name="API Pedidos",
database_url="postgresql://user:password@localhost:5432/pedidos",
debug=True
)
+4
View File
@@ -0,0 +1,4 @@
# Task Models
from .order import Order, OrderItem, Base
__all__ = ["Order", "OrderItem", "Base"]
+33
View File
@@ -0,0 +1,33 @@
from sqlalchemy import Column, String, Float, Integer, DateTime, ForeignKey
from sqlalchemy.orm import relationship
from sqlalchemy.ext.declarative import declarative_base
from datetime import datetime
Base = declarative_base()
class Order(Base):
__tablename__ = "orders"
id = Column(Integer, primary_key=True, index=True)
customer_name = Column(String, nullable=False)
customer_email = Column(String, nullable=False)
status = Column(String, default="pending")
total = Column(Float, default=0.0)
created_at = Column(DateTime, default=datetime.now)
updated_at = Column(DateTime, default=datetime.now, onupdate=datetime.now)
items = relationship("OrderItem", back_populates="order", cascade="all, delete-orphan")
class OrderItem(Base):
__tablename__ = "order_items"
id = Column(Integer, primary_key=True, index=True)
order_id = Column(Integer, ForeignKey("orders.id"), nullable=False)
product_name = Column(String, nullable=False)
quantity = Column(Integer, default=1)
price = Column(Float, nullable=False)
created_at = Column(DateTime, default=datetime.now)
order = relationship("Order", back_populates="items")
View File
View File