예제 #1
0
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
예제 #2
0
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)
예제 #3
0
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
예제 #4
0
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)
예제 #5
0
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)