60 lines
2.1 KiB
Python
60 lines
2.1 KiB
Python
|
|
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"))
|