class Estudiante(db.Model): __tablename__ = "estudiante" id = db.Column(db.Integer, primary_key=True) apellido = db.Column(db.String(255), nullable=False, unique=True) nombre = db.Column(db.String(255), nullable=False, unique=True) fecha_nac = db.Column(db.DateTime, nullable=False) localidad_id = db.Column(db.Integer, primary_key=False) domicilio = db.Column(db.String(255), nullable=False, unique=True) barrio_id = db.Column(db.Integer, db.ForeignKey('barrio.id')) barrio = db.relationship(Barrio, backref=backref('estudiantes_barrio', uselist=True, cascade='delete,all')) genero_id = db.Column(db.Integer, db.ForeignKey('genero.id')) genero = db.relationship(Genero, backref=backref('estudiantes_genero', uselist=True, cascade='delete,all')) tipo_doc_id = db.Column(db.Integer, nullable=False, unique=True) numero = db.Column(db.Integer, nullable=False, unique=True) tel = db.Column(db.String(255), nullable=False, unique=True) escuela_id = db.Column(db.Integer, db.ForeignKey('escuela.id')) escuela = db.relationship(Escuela, backref=backref('estudiantes_escuela', uselist=True, cascade='delete,all')) nivel_id = db.Column(db.Integer, db.ForeignKey('nivel.id')) nivel = db.relationship(Nivel, backref=backref('estudiantes_nivel', uselist=True, cascade='delete,all')) def __init__(self, apellido, nombre, fecha_nac, localidad_id, nivel_id, domicilio, genero_id, escuela_id, tipo_doc_id, numero, tel, barrio_id): self.apellido = apellido self.nombre = nombre self.fecha_nac = fecha_nac self.localidad_id = localidad_id self.nivel_id = nivel_id self.domicilio = domicilio self.genero_id = genero_id self.escuela_id = escuela_id self.tipo_doc_id = tipo_doc_id self.numero = numero self.tel = tel self.barrio_id = barrio_id
class Responsable(db.Model): __tablename__ = "responsable" id = db.Column(db.Integer, primary_key=True) apellido = db.Column(db.String(255), nullable=False) nombre = db.Column(db.String(255), nullable=False) fecha_nac = db.Column(db.DateTime, nullable=False) localidad = db.Column(db.String(255), nullable=False) domicilio = db.Column(db.String(255), nullable=False) genero_id = db.Column(db.Integer, db.ForeignKey('genero.id')) genero = db.relationship(Genero, backref = backref('estudiantes', uselist = True, cascade = 'delete,all')) tipo_documento = db.Column(db.String(255), nullable=False) numero = db.Column(db.Integer, nullable=False, unique=True) telefono = db.Column(db.String(255), nullable=False, unique=True) def __init__(self, apellido, nombre, fecha_nac, localidad, domicilio, genero, tipo_documento, numero, telefono): self.apellido = apellido self.nombre = nombre self.fecha_nac = fecha_nac self.localidad = localidad self.domicilio = domicilio self.genero = genero self.tipo_documento = tipo_documento self.numero = numero self.telefono = telefono
class Rol(db.Model): __tablename__ = "rol" id = db.Column(db.Integer, primary_key=True) nombre = db.Column(db.String(255), nullable=False) permisos = db.relationship("Permiso", secondary=rol_tiene_permiso, lazy='subquery')
class EstudianteTaller(db.Model): __tablename__ = "estudiante_taller" id = db.Column(db.Integer, primary_key=True) estudiante_id = db.Column(db.Integer, db.ForeignKey("estudiante.id")) estudiante = db.relationship("Estudiante") # ciclo_lectivo_id = db.Column(db.Integer, db.ForeignKey("ciclo_lectivo.id"), primary_key=True) # ciclo_lectivo = db.relationship("CicloLectivo") # # taller_id = db.Column(db.Integer, db.ForeignKey("taller.id"), primary_key=True) # taller = db.relationship("Taller") horario_id = db.Column(db.Integer, db.ForeignKey("horario_taller.id")) horario = db.relationship("HorarioTaller") def __init__(self, estudiante_id, horario_id): self.estudiante_id = estudiante_id self.horario_id = horario_id
class AsistenciaEstudianteTaller(db.Model): __tablename__ = "asistencia_estudiante_taller" id = db.Column(db.Integer, primary_key=True) estudiante_id = db.Column(db.Integer, db.ForeignKey('estudiante.id')) estudiante = db.relationship(Estudiante, backref = backref('asistencia_estudiante_taller_estudiante', uselist = True, cascade = 'delete,all')) ciclo_lectivo_id = db.Column(db.Integer, db.ForeignKey('ciclo_lectivo.id')) ciclo_lectivo = db.relationship(CicloLectivo, backref = backref('asistencia_estudiante_taller_ciclo_lectivo', uselist = True, cascade = 'delete,all')) taller_id = db.Column(db.Integer, db.ForeignKey('taller.id')) taller = db.relationship(Taller, backref = backref("asistencia_estudiante_taller_taller", uselist = True, cascade = 'delete,all')) fecha = db.Column(db.DateTime, nullable=False) def __init__(self, estudiante_id, ciclo_lectivo_id, taller_id, fecha): self.estudiante_id = estudiante_id self.ciclo_lectivo_id = ciclo_lectivo_id self.taller_id = taller_id self.fecha = fecha
class Taller(db.Model): __tablename__ = "taller" id = db.Column(db.Integer, primary_key=True) nombre = db.Column(db.String(255), nullable=False, unique=True) nombre_corto = db.Column(db.String(255), nullable=False) ciclos_lectivos = db.relationship("CicloLectivo", secondary=ciclo_lectivo_taller, lazy='subquery') def __init__(self, nombre, nombre_corto): self.nombre = nombre self.nombre_corto = nombre_corto
class DocenteResponsableTaller(db.Model): __tablename__ = "docente_responsable_taller" docente_id = db.Column(db.Integer, db.ForeignKey("docente.id"), primary_key=True) docente = db.relationship("Docente") ciclo_lectivo_id = db.Column(db.Integer, db.ForeignKey("ciclo_lectivo.id"), primary_key=True) ciclo_lectivo = db.relationship("CicloLectivo") taller_id = db.Column(db.Integer, db.ForeignKey("taller.id"), primary_key=True) taller = db.relationship("Taller") def __init__(self, docente_id, ciclo_lectivo_id, taller_id): self.docente_id = docente_id self.ciclo_lectivo_id = ciclo_lectivo_id self.taller_id = taller_id
class Instrumento(db.Model): __tablename__ = "instrumento" numero_inventario = db.Column(db.Integer, primary_key=True) nombre = db.Column(db.String(255), nullable=False, unique=True) tipo_instrumento_id = db.Column(db.Integer, db.ForeignKey('tipo_instrumento.id')) tipo_instrumento = db.relationship(TipoInstrumento, backref=backref( 'instrumento_tipo_instrumento', uselist=True, cascade='delete,all')) ruta_imagen = db.Column(db.String(255)) def __init__(self, nombre, tipo_instrumento_id, ruta_imagen): self.nombre = nombre self.tipo_instrumento_id = tipo_instrumento_id self.ruta_imagen = ruta_imagen