class EstanteModel(db.Model): __tablename__="t_estante" id = db.Column("est_id",db.Integer, primary_key=True) capacidad = db.Column("est_cap", db.Integer, nullable=False) ubicacion = db.Column("est_ubic", db.String(50)) descripcion = db.Column("est_desc", db.String(45)) estado = db.Column(db.Boolean, default=True) # Voy a crear mi relacion inversa # sirve para hacer la relacion inversa (traer todos los libros que pertenecen # a un estante) y nos ayuda demasiado para la logica libros = db.relationship('LibroModel', backref='estante') def __init__(self, capacidad, ubicacion, descripcion, estado=None): self.capacidad = capacidad self.ubicacion = ubicacion self.descripcion = descripcion if estado is not None: self.estado = estado def guardar_bd(self): db.session.add(self) db.session.commit() def mostrar_json(self): return { 'id':self.id, 'capacidad':self.capacidad, 'ubicacion':self.ubicacion, 'descripcion': self.descripcion, 'estado': self.estado } def __str__(self): return '%s, %s, %s'%(self.id, self.capacidad, self.ubicacion)
class EstanteModel(db.Model): __tablename__ = "t_estante" id = db.Column("est_id", db.Integer, primary_key=True) capacidad = db.Column("est_cap", db.Integer, nullable=False) ubicacion = db.Column("est_ubic", db.String(50)) descripcion = db.Column("est_desc", db.String(45)) #servir para tener una relación inversa #traer todos los libros que pertenecen a un estante #Ayuda un montón a la lógica libros = db.relationship('LibroModel', backref="estante") def __init__(self, capacidad, ubicacion, descripcion): self.capacidad = capacidad self.ubicacion = ubicacion self.descripcion = descripcion def guardar_bd(self): db.session.add(self) db.session.commit() def mostrar_json(self): return { 'id': self.id, 'capacidad': self.capacidad, 'ubicacion': self.ubicacion, 'descripcion': self.descripcion, } def __str__(self): return '%s, %s, %s' % (self.id, self.capacidad, self.ubicacion)
class HobbieModel(db.Model): __tablename__ = "t_hobbie" id = db.Column("hob_id", db.Integer, primary_key=True) descripcion = db.Column("hob_descripcion", db.String(200)) observacion = db.Column("hob_observacion", db.String(100)) estado = db.Column("hob_estado", db.Boolean, default=True) fecreg = db.Column("hob_fecreg", db.DateTime, default=datetime.now) #RELACIONES per_id = db.Column(db.Integer, db.ForeignKey('t_persona.per_id'), nullable=False) def __init__(self, descripcion, observacion, estado, per_id): self.descripcion = descripcion self.observacion = observacion self.estado = estado self.per_id = per_id def guardar_bd(self): db.session.add(self) db.session.commit() def mostrar_json(self): return { 'id': self.id, 'descripcion': self.descripcion, 'observacion': self.observacion, 'estado': self.estado, 'fecreg': self.fecreg.strftime("%m-%d-%Y %H:%M:%S"), }
class AutorModel(db.Model): __tablename__ = "t_autor" id = db.Column("autor_id", db.Integer, primary_key=True) nombre = db.Column("autor_nomb", db.String(45), nullable=False) libros = db.relationship('AutorLibroModel', backref='autor') def __init__(self, nombre): self.nombre = nombre
class LaboralModel(db.Model): __tablename__ = "t_laboral" id = db.Column("lab_id", db.Integer, primary_key=True) empresa = db.Column("lab_empresa", db.String(100)) cargo = db.Column("lab_cargo", db.String(100)) fecini = db.Column("lab_fecini", db.Date) fecfin = db.Column("lab_fecfin", db.Date) contacnombre = db.Column("lab_contacnombre", db.String(100)) contaccelular = db.Column("lab_contaccelular", db.String(15)) observacion = db.Column("lab_observacion", db.String(100)) estado = db.Column("lab_estado", db.Boolean, default=True) fecreg = db.Column("lab_fecreg", db.DateTime, default=datetime.now) #RELACIONES per_id = db.Column(db.Integer, db.ForeignKey('t_persona.per_id'), nullable=False) def __init__(self, empresa, cargo, fecini, fecfin, contacnombre, contaccelular, observacion, estado, per_id): self.empresa = empresa self.cargo = cargo self.fecini = fecini self.fecfin = fecfin self.contacnombre = contacnombre self.contaccelular = contaccelular self.observacion = observacion self.estado = estado self.per_id = per_id def guardar_bd(self): db.session.add(self) db.session.commit() def mostrar_json(self): return { 'id': self.id, 'empresa': self.empresa, 'cargo': self.cargo, 'fecini': self.fecini.strftime("%m-%d-%Y"), 'fecfin': self.fecfin.strftime("%m-%d-%Y"), 'contacnombre': self.contacnombre, 'contaccelular': self.contaccelular, 'observacion': self.observacion, 'estado': self.estado, 'fecreg': self.fecreg.strftime("%m-%d-%Y %H:%M:%S"), }
class LibroModel(db.Model): __tablename__= "t_libro" id = db.Column("lib_id", db.Integer, primary_key=True) nombre = db.Column("lib_nomb",db.String(50)) editorial = db.Column("lib_editorial",db.String(50)) numpag = db.Column("lib_numpag",db.Integer) precio = db.Column("lib_precio", db.Float()) publicacion = db.Column("lib_publicacion",db.String(4)) codigo = db.Column("lib_cod",db.Text) estado = db.Column(db.Boolean, default=True) # RELACIONES est_id = db.Column(db.Integer, db.ForeignKey('t_estante.est_id'), nullable=False) autores = db.relationship('AutorLibroModel', backref='libro') # estante = db.relationship('EstanteModel', backref='libro') def __init__(self,nombre, editorial, numpag, precio, publicacion, codigo, estante): self.nombre = nombre self.editorial = editorial self.numpag = numpag self.precio = precio self.publicacion = publicacion self.codigo = codigo self.est_id = estante def save(self): db.session.add(self) db.session.commit() def mostrar_json(self): return{ 'id': self.id, 'nombre': self.nombre, 'editorial': self.editorial, 'num_paginas': self.numpag, 'precio': self.precio, 'publicacion': self.publicacion, 'codigo': self.codigo, 'estante': self.est_id, 'estado': self.estado } def __str__(self): return '%s,%s,%s,%s,%s,%s,%s,%s,%s'%(self.id,self.nombre,self.editorial,self.numpag,self.precio,self.publicacion,self.codigo,self.est_id, self.estado)
class ConocimientoModel(db.Model): __tablename__ = "t_conocimiento" id = db.Column("conoci_id", db.Integer, primary_key=True) descripcion = db.Column("conoci_descripcion", db.String(200)) fecini = db.Column("conoci_fecini", db.Date) fecfin = db.Column("conoci_fecfin", db.Date) cestudios = db.Column("conoci_cestudios", db.String(100)) cestudios = db.Column("conoci_horas", db.Integer) observacion = db.Column("conoci_observacion", db.String(100)) estado = db.Column("conoci_estado", db.Boolean, default=True) fecreg = db.Column("conoci_fecreg", db.DateTime, default=datetime.now) #RELACIONES per_id = db.Column(db.Integer, db.ForeignKey('t_persona.per_id'), nullable=False) def __init__(self, descripcion, fecini, fecfin, cestudios, observacion, estado, per_id): self.descripcion = descripcion self.fecini = fecini self.fecfin = fecfin self.cestudios = cestudios self.horas = horas self.observacion = observacion self.estado = estado self.per_id = per_id def guardar_bd(self): db.session.add(self) db.session.commit() def mostrar_json(self): return { 'id': self.id, 'descripcion': self.descripcion, 'fecini': self.fecini.strftime("%m-%d-%Y"), 'fecfin': self.fecfin.strftime("%m-%d-%Y"), 'cestudios': self.cestudios, 'horas': self.horas, 'observacion': self.observacion, 'estado': self.estado, 'fecreg': self.fecreg.strftime("%m-%d-%Y %H:%M:%S"), }
class AutorModel(db.Model): __tablename__ = 't_autor' # automaticamente se designa autoincrementable al primer primary key int # para deshabilitar usar autoincremente=False id = db.Column("autor_id", db.Integer, primary_key=True) nombre = db.Column("autor_nombre", db.String(50)) estado = db.Column(db.Boolean, default=True) libros = db.relationship('AutorLibroModel', backref='autor') def __init__(self, nombre): self.nombre = nombre
class EstudianteModel(db.Model): __tablename__ = "t_estudiante" id = db.Column("est_id", db.Integer, primary_key=True) nombre = db.Column("est_nom", db.String(50)) appat = db.Column("est_app", db.String(50)) apmat = db.Column("est_apm", db.String(50)) descripcion = db.Column("est_descrip", db.String(255)) job = db.Column("est_job", db.String(50)) address = db.Column("est_address", db.String(100)) email = db.Column("est_email", db.String(100)) #capacidad = db.Column("est_cap", db.Integer, nullable=False) #ubicacion = db.Column("est_ubic", db.String(50)) #descripcion = db.Column("est_desc", db.String(45)) #estado = db.Column(db.Boolean, default=True) # Voy a crear mi relacion inversa # sirve para hacer la relacion inversa (traer todos los libros que pertenecen a un estante) y nos ayuda demasiado para la logica #libros = db.relationship('LibroModel', backref='estante') def __init__(self, nombre, appat, apmat, descripcion, job, address, email): self.nombre = nombre self.appat = appat self.apmat = apmat self.descripcion = descripcion self.job = job self.address = address self.email = email def guardar_bd(self): db.session.add(self) db.session.commit() def mostrar_json(self): return { 'id': self.id, 'nombre': self.nombre, 'appat': self.appat, 'apmat': self.apmat, 'descripcion': self.descripcion, 'job': self.job, 'address': self.address, 'email': self.email #'capacidad':self.capacidad, #'ubicacion':self.ubicacion, #'descripcion': self.descripcion, #'estado': self.estado } def __str__(self): # return '%s, %s, %s'%(self.id, self.capacidad, self.ubicacion) return '%s, %s, %s , %s, %s, %s , %s, %s' % ( self.id, self.nombre, self.appat, self.apmat, self.descripcion, self.job, self.address, self.email)
class LibroModel(db.Model): __tablename__ = "t_libro" id = db.Column("lib_id", db.Integer, primary_key=True) nombre = db.Column("lib_nomb", db.String(45)) editorial = db.Column("lib_editorial", db.String(45)) numpaginas = db.Column("lib_numpag", db.Integer) precio = db.Column("lib_precio", db.DECIMAL(5, 2)) publicacion = db.Column("lib_publicacion", db.String(4)) codigo = db.Column("lib_cod", db.Text) #RELACIONES est_id = db.Column(db.Integer, db.ForeignKey('t_estante.est_id'), nullable=False) autores = db.relationship('AutorLibroModel', backref="libro") def __init__(self, nombre, editorial, numpaginas, precio, publicacion, codigo): self.nombre = nombre self.editorial = editorial self.numpaginas = numpaginas self.precio = precio self.publicacion = publicacion self.codigo = codigo
class AcademicoModel(db.Model): __tablename__ = "t_academico" id = db.Column("acad_id", db.Integer, primary_key=True) nivel = db.Column("acad_nivel", db.String(100)) cestudios = db.Column("acad_cestudios", db.String(200)) carrera = db.Column("acad_carrera", db.String(200)) observacion = db.Column("acad_observacion", db.String(100)) estado = db.Column("acad_estado", db.Boolean, default=True) fecreg = db.Column("acad_fecreg", db.DateTime, default=datetime.now) #RELACIONES per_id = db.Column(db.Integer, db.ForeignKey('t_persona.per_id'), nullable=False) def __init__(self, nivel, cestudios, carrera, observacion, estado, per_id): self.nivel = nivel self.cestudios = cestudios self.carrera = carrera self.observacion = observacion self.estado = estado self.per_id = per_id def guardar_bd(self): db.session.add(self) db.session.commit() def mostrar_json(self): return { 'id': self.id, 'nivel': self.nivel, 'cestudios': self.cestudios, 'carrera': self.carrera, 'observacion': self.observacion, 'estado': self.estado, 'fecreg': self.fecreg.strftime("%m-%d-%Y %H:%M:%S"), }
class EstanteModel(db.Model): __tablename__ = 't_estante' # automaticamente se designa autoincrementable al primer primary key int # para deshabilitar usar autoincremente=False id = db.Column("est_id",db.Integer, primary_key=True) #Si no se usa el mismo nombre del campo en la BD, este se puede asignar como primer valor de bd.column() capacidad = db.Column("est_cap", db.Integer, nullable=False) ubicacion = db.Column("est_ubic",db.String(50)) descripcion = db.Column("est_desc",db.String(50)) estado = db.Column(db.Boolean, default=True) # Crear relación inversa # Sirve paraobtener todos los libros que pertenecen a un estante libros = db.relationship('LibroModel', backref='estante') def __init__(self, capacidad, ubicacion, descripcion, estado = None): self.capacidad = capacidad self.ubicacion = ubicacion self.descripcion = descripcion if estado is not None: self.estado = estado def save(self): db.session.add(self) db.session.commit() def mostrar_json(self): return{ 'id': self.id, 'capacidad':self.capacidad, 'ubicacion':self.ubicacion, 'descripcion':self.descripcion, 'estado': self.estado } def __str__(self): return '%s, %s, %s, %s'%(self.id, self.capacidad, self.ubicacion, self.estado)
class PersonaModel(db.Model): __tablename__ = "t_persona" id = db.Column("per_id", db.Integer, primary_key=True) dni = db.Column("per_dni", db.String(8)) nombres = db.Column("per_nombres", db.String(50)) apellidos = db.Column("per_apellidos", db.String(50)) fecnac = db.Column("per_fecnac", db.Date) sexo = db.Column("per_sexo", db.String(3)) correo = db.Column("per_correo", db.String(30)) celular = db.Column("per_celular", db.String(15)) observacion = db.Column("per_observacion", db.String(100)) estado = db.Column("per_estado", db.Boolean, default=True) fecreg = db.Column("per_fecreg", db.DateTime, default=datetime.now) # RELACIONES # Voy a crear mi relacion inversa # sirve para hacer la relacion inversa (traer todos la experiencia laboral que pertenecen a esa persona) y nos ayuda demasiado para la logica laborales = db.relationship('LaboralModel', backref='persona') conocimientos = db.relationship('ConocimientoModel', backref='persona') hobbies = db.relationship('HobbieModel', backref='persona') habilidades = db.relationship('HabilidadModel', backref='persona') academicos = db.relationship('AcademicoModel', backref='persona') def __init__(self, dni, nombres, apellidos, fecnac, sexo, correo, celular, observacion, estado): self.dni = dni self.nombres = nombres self.apellidos = apellidos self.fecnac = fecnac self.sexo = sexo self.correo = correo self.celular = celular self.observacion = observacion if estado is not None: self.estado = estado def guardar_bd(self): db.session.add(self) db.session.commit() def mostrar_json(self): # print (self.fecnac.strftime("%m/%d/%Y, %H:%M:%S")) return { 'id': self.id, 'dni': self.dni, 'nombres': self.nombres, 'apellidos': self.apellidos, 'fecnac': self.fecnac.strftime("%m-%d-%Y"), 'sexo': self.sexo, 'correo': self.correo, 'celular': self.celular, 'observacion': self.observacion, 'estado': self.estado, 'fecreg': self.fecreg.strftime("%m-%d-%Y %H:%M:%S") } def __str__(self): return '%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s' % ( self.id, self.dni, self.nombres, self.apellidos, self.fecnac, self.sexo, self.correo, self.celular, self.observacion, self.estado, self.fecreg)