diff --git a/models/models.py b/models/models.py new file mode 100644 index 0000000..5e87152 --- /dev/null +++ b/models/models.py @@ -0,0 +1,59 @@ + +from sqlalchemy import Boolean, Column, ForeignKey, Integer, String +from sqlalchemy.orm import relationship +from datetime import date +from .database import Base + + +# class User(Base): +# __tablename__ = "users" + +# id = Column(Integer, primary_key=True, index=True) +# email = Column(String, unique=True, index=True) +# hashed_password = Column(String) +# is_active = Column(Boolean, default=True) + +# items = relationship("Item", back_populates="owner") +class Usuario(Base): + __tablename__ = "usuarios" + + id = Column(Integer,primary_key=True,index=True) + nombre = Column(String(20),index=True) + apellido = Column(String(20),index=True) + fecha_nacimiento =Column(date,index=True) + alias = Column(String(20), unique=True) + email = Column(String(20),unique=True) + password = Column(String(20)) + + publicaciones = relationship("Publicacion",back_populates="usuario") + comentarios = relationship("Comentario",back_populates="usuario") + +class Publicacion(Base): + __tablename__="publicaciones" + + id = Column(Integer,primary_key=True,index=True) + + texto = Column(String(255)) + fecha = Column(date,index=True) + likes = Column(Integer,index=True) + user_id = Column(Integer,ForeignKey("usuarios.id"), nullable=True) + + usuario = relationship("Usuario",back_populates="publicaciones") + comentarios =relationship("Comentario",secondary="publicacion_comentario",back_populates="publicaciones") +class Comentario(Base): + __tablename__ ="comentarios" + + id = Column(Integer,primary_key=True) + fecha = Column(date) + texto = Column(String(255)) + likes = Column(Integer) + user_id = Column(Integer,ForeignKey("usuarios.id"), nullable=True) + + usuario = relationship("Usuario",back_populates="comentarios") + publicaciones = relationship("Publicacion",secondary="publicacion_comentario",back_populates="comentarios") + +class PublicacionComentario: + __tablename__="publicacion_comentario" + + publicacion_id = Column(Integer,ForeignKey=("publicaciones.id")) + comentario_id = Column(Integer,ForeignKey=("comentarios.id"))