class PromocionesModel(db.Model): __tablename__ = 'promociones' id = db.Column(db.Integer, primary_key=True, autoincrement=True) url = db.Column(db.String(150)) alt = db.Column(db.String(150)) def __init__(self,url,alt): self.url = url self.alt = alt @classmethod def find_by_name(cls, url): return cls.query.filter_by(url=url).first() def json(self): return {'id': self.id, 'url': self.url, 'alt': self.alt,} def insert_to_db(self): db.session.add(self) db.session.commit() def delete_from_db(self): db.session.delete(self) db.session.commit() def actualizar(self): db.session.commit()
class UserModel(UserMixin, db.Model): __tablename__ = 'usuarios' id = db.Column(db.Integer, primary_key=True, autoincrement=True) nombre = db.Column(db.String(24), unique=True) password = db.Column(db.String(80)) def __init__(self, nombre, password): self.nombre = nombre self.password = password @classmethod def find_by_name(cls, name): return cls.query.filter_by(nombre=name).first() @classmethod def find_by_id(cls, _id): return cls.query.filter_by(id=_id).first() def insert_to_db(self): db.session.add(self) db.session.commit() def delete_from_db(self): db.session.delete(self) db.session.commit()
class User(db.Model): __tablename__ = 'user' id = db.Column(db.Integer, primary_key=True) public_id = db.Column(db.String(255)) username = db.Column(db.String(80), unique=True, nullable=False) email = db.Column(db.String(120), unique=True, nullable=False) password = db.Column(db.String(120), nullable=False) cart = db.relationship('Cart', backref='user', lazy=True) def __repr__(self): return '<User %r>' % self.username
class Cart(db.Model): __tablename__ = 'cart' id = db.Column(db.Integer, primary_key=True) user_id = db.Column(db.Integer, db.ForeignKey('user.id'), nullable=False) products = db.relationship('Product', secondary=cart_products, lazy='subquery', backref=db.backref('cart', lazy=True)) def __init__(self, user_id: int, product: int): self.user_id = user_id self.product = product
class Product(db.Model): __tablename__ = 'product' id = db.Column(db.Integer, primary_key=True) title = db.Column(db.String(120), nullable=False) description = db.Column(db.String(250)) price = db.Column(db.Float, nullable=False) def __init__(self, title: str, description: str, price: float): self.title = title self.description = description self.price = price def __repr__(self): return '<title %r>' % self.title
class Partes3DModel(db.Model): __tablename__ = 'partes3D' id = db.Column(db.Integer, primary_key=True, autoincrement=True) nombre = db.Column(db.String(80)) pieza = db.Column(db.String(80)) modelo = db.Column(db.String(80), db.ForeignKey('modelos3D.modelo')) x = db.Column(db.Float) y = db.Column(db.Float) z = db.Column(db.Float) rutaJSON = db.Column(db.String(200)) foto = db.Column(db.String(200)) opciones3D = db.relationship('Opciones3DModel') precio3D = db.relationship('Precios3DModel') def __init__(self, nombre, pieza, modelo, x, y, z, rutaJSON, foto): self.nombre = nombre self.pieza = pieza self.modelo = modelo self.x = x self.y = y self.z = z self.rutaJSON = rutaJSON self.foto = foto def json(self): return { 'id': self.id, 'nombre': self.nombre, 'pieza': self.pieza, 'modelo': self.modelo, 'x': self.x, 'y': self.y, 'z': self.z, 'rutaJSON': self.rutaJSON, 'foto': self.foto } @classmethod def find_by_id(cls, _id): return cls.query.filter_by(id=_id).first() @classmethod def find_by_pieza(cls, pieza): return cls.query.filter_by(pieza=pieza).all() def insert_to_db(self): db.session.add(self) db.session.commit() def delete_from_db(self): db.session.delete(self) db.session.commit()
class ModelosModel(db.Model): __tablename__ = 'modelos3D' modelo = db.Column(db.String(80), primary_key=True) partes3D = db.relationship('Partes3DModel') def __init__(self, modelo): self.modelo = modelo def json(self): return { 'modelo': self.modelo, } @classmethod def find_by_nombre(cls, nombre): return cls.query.filter_by(modelo=nombre).first() def insert_to_db(self): db.session.add(self) db.session.commit() def delete_from_db(self): db.session.delete(self) db.session.commit()
class Result(db.Model): __tablename__ = 'result' id = db.Column(db.Integer, primary_key=True) Year = db.Column(db.String(100)) ShowroomPrice = db.Column(db.String(100)) Kilometers = db.Column(db.String(100)) Owners = db.Column(db.String(100)) FuelType = db.Column(db.String(100)) SellerType = db.Column(db.String(100)) TransmissionType = db.Column(db.String(100)) PredictedPrice = db.Column(db.String(100)) def as_dict(self): return {c.name: getattr(self, c.name) for c in self.__table__.columns}
class Precios3DModel(db.Model): __tablename__ = 'precios3D' id = db.Column(db.Integer, primary_key=True, autoincrement=True) parte3D = db.Column(db.Integer, db.ForeignKey('partes3D.id')) material = db.Column(db.String(80)) precio = db.Column(db.Float) def __init__(self, parte3D, material, precio): self.parte3D = parte3D self.material = material self.precio = precio def json(self): return { 'parte3D': self.parte3D, 'material': self.material, 'precio': self.precio } @classmethod def find_by_id(cls, _id): return cls.query.filter_by(id=_id).first() @classmethod def find_by_parte_material(cls, parte3D, material): return cls.query.filter_by(parte3D=parte3D, material=material).first() @classmethod def find_by_parte(cls, parte3D): return cls.query.filter_by(parte3D=parte3D).all() def insert_to_db(self): db.session.add(self) db.session.commit() def delete_from_db(self): db.session.delete(self) db.session.commit()
class ArtistasModel(db.Model): __tablename__ = 'artistas' id = db.Column(db.Integer, primary_key=True, autoincrement=True) nombre = db.Column(db.String(24)) descripcion = db.Column(db.Text) fotopal = db.Column(db.String(150)) fotopalalt = db.Column(db.String(150)) fotos = db.relationship('FotosArtistasModel') def __init__(self, nombre, descripcion, fotopal, fotopalalt): self.nombre = nombre self.descripcion = descripcion self.fotopal = fotopal self.fotopalalt = fotopalalt def json(self): return { 'id': self.id, 'nombre': self.nombre, 'descripcion': self.descripcion, 'fotopal': self.fotopal } @classmethod def find_by_name(cls, name): return cls.query.filter_by(nombre=name).first() def insert_to_db(self): db.session.add(self) db.session.commit() def delete_from_db(self): db.session.delete(self) db.session.commit() def actualizar(self): db.session.commit()
class Opciones3DModel(db.Model): __tablename__ = 'opcionesPartes3D' id = db.Column(db.Integer, primary_key=True, autoincrement=True) nombre = db.Column(db.String(80)) rutaTextura = db.Column(db.String(200)) foto = db.Column(db.String(200)) parte3D = db.Column(db.Integer, db.ForeignKey('partes3D.id')) def __init__(self, nombre, rutaTextura, foto, parte3D): self.nombre = nombre self.rutaTextura = rutaTextura self.foto = foto self.parte3D = parte3D def json(self): return { 'nombre': self.nombre, 'rutaTextura': self.rutaTextura, 'foto': self.foto, 'parte3D': self.parte3D } @classmethod def find_by_id(cls, _id): return cls.query.filter_by(id=_id).first() @classmethod def find_by_parte(cls, _id): return cls.query.filter_by(parte3D=_id).all() def insert_to_db(self): db.session.add(self) db.session.commit() def delete_from_db(self): db.session.delete(self) db.session.commit()
class FotosArtistasModel(db.Model): __tablename__ = 'fotosartistas' id = db.Column(db.Integer, primary_key=True, autoincrement=True) nombre = db.Column(db.String(24)) url = db.Column(db.String(150)) artista = db.Column(db.Integer, db.ForeignKey('artistas.id')) def __init__(self, nombre, url, artista): self.nombre = nombre self.url = url self.artista = artista @classmethod def find_by_name(cls, url): return cls.query.filter_by(url=url).first() def insert_to_db(self): db.session.add(self) db.session.commit() def delete_from_db(self): db.session.delete(self) db.session.commit()
class PedidosModel(db.Model): __tablename__ = 'pedidos' id = db.Column(db.Integer, primary_key=True, autoincrement=True) pago_id = db.Column(db.String(50), unique=True) factura = db.Column(db.String(50)) numero_serie = db.Column(db.String(24), unique=True) modelo = db.Column(db.String(24)) acabado = db.Column(db.String(24)) pastillas = db.Column(db.String(24)) puente = db.Column(db.String(24)) electronica = db.Column(db.String(24)) clavijero = db.Column(db.String(24)) nombre = db.Column(db.String(128)) direccion = db.Column(db.String(370)) telefono = db.Column(db.String(20)) email = db.Column(db.String(128)) precio = db.Column(db.String(24)) fecha = db.Column(db.DateTime) fecha_salida = db.Column(db.DateTime) observaciones = db.Column(db.Text) def __init__(self, pago_id, factura, numero_serie, modelo, acabado, pastillas, puente, electronica, clavijero, nombre, direccion, telefono, email, precio, fecha, observaciones): self.pago_id = pago_id self.factura = factura self.numero_serie = numero_serie self.modelo = modelo self.acabado = acabado self.pastillas = pastillas self.puente = puente self.electronica = electronica self.clavijero = clavijero self.nombre = nombre self.direccion = direccion self.telefono = telefono self.email = email self.precio = precio self.fecha = fecha self.observaciones = observaciones def json(self): return { 'id': self.id, 'pago_id': self.pago_id, 'factura': self.factura, 'numero_serie': self.numero_serie, 'modelo': self.modelo, 'acabado': self.acabado, 'pastillas': self.pastillas, 'puente': self.puente, 'electronica': self.electronica, 'clavijero': self.clavijero, 'nombre': self.nombre, 'direccion': self.direccion, 'telefono': self.telefono, 'email': self.email, 'precio': self.precio, 'fecha': self.fecha.__str__(), 'observaciones': self.observaciones, 'fecha_salida': self.fecha_salida.__str__() } @classmethod def find_by_serial(cls, serial): return cls.query.filter_by(numero_serie=serial).first() @classmethod def find_last(cls): return cls.query.order_by(cls.id.desc()).first() @classmethod def countModelo(cls): return db.session.query(PedidosModel.modelo, func.count(PedidosModel.modelo)).group_by( PedidosModel.modelo).order_by( func.count( PedidosModel.modelo).desc()).all() @classmethod def countEsteMes(cls): today = datetime.datetime.today() month = today.month year = today.year result = db.session.execute( 'SELECT count(*) FROM pedidos WHERE extract(MONTH FROM fecha)= :val and EXTRACT(YEAR FROM fecha)= :val2', { 'val': month, 'val2': year }).fetchall() return result @classmethod def find_by_id(cls, id): return cls.query.filter_by(id=id).first() def insert_to_db(self): db.session.add(self) db.session.commit() def delete_from_db(self): db.session.delete(self) db.session.commit() def actualizar(self): db.session.commit()
class PresupuestosModel(db.Model): __tablename__ = 'presupuestos' id = db.Column(db.Integer, primary_key=True, autoincrement=True) nombre = db.Column(db.String(80)) telefono = db.Column(db.String(20)) email = db.Column(db.String(128)) #precioAprox = db.Column(db.Integer) fecha = db.Column(db.DateTime) modelo = db.Column(db.String(80)) maderaCuerpo = db.Column(db.String(80)) maderaDiapason = db.Column(db.String(80)) maderaMastil = db.Column(db.String(80)) mastil = db.Column(db.String(80)) pastillaMastil = db.Column(db.String(80)) pastillaMedio = db.Column(db.String(80)) pastillaPuente = db.Column(db.String(80)) puente = db.Column(db.String(80)) tono1 = db.Column(db.String(80)) tono2 = db.Column(db.String(80)) volumen = db.Column(db.String(80)) tapa = db.Column(db.String(80)) chapa = db.Column(db.String(80)) jack = db.Column(db.String(80)) #clavijero = db.Column(db.String(80)) acabado = db.Column(db.String(80)) colorCuerpo = db.Column(db.String(80)) colorGolpeador = db.Column(db.String(80)) colorPastillaMastil = db.Column(db.String(80)) colorPastillaMedio = db.Column(db.String(80)) colorPastillaPuente = db.Column(db.String(80)) colorPuente = db.Column(db.String(80)) #colorClavijero = db.Column(db.String(80)) colorTono1 = db.Column(db.String(80)) colorTono2 = db.Column(db.String(80)) colorVolumen = db.Column(db.String(80)) colorTapa = db.Column(db.String(80)) colorChapa = db.Column(db.String(80)) colorJack = db.Column(db.String(80)) comentarios = db.Column(db.Text) def __init__(self,nombre,telefono,email,fecha,modelo,maderaCuerpo,maderaDiapason,maderaMastil,mastil, pastillaMastil,pastillaMedio,pastillaPuente,puente,tono1,tono2,volumen,tapa,chapa,jack, acabado, colorCuerpo,colorGolpeador,colorPastillaMastil,colorPastillaMedio,colorPastillaPuente, colorPuente,colorTono1,colorTono2,colorVolumen,colorTapa,colorChapa,colorJack,comentarios): self.nombre = nombre self.telefono = telefono self.email = email self.fecha = fecha self.modelo = modelo self.maderaCuerpo = maderaCuerpo self.maderaDiapason = maderaDiapason self.maderaMastil =maderaMastil self.mastil = mastil self.pastillaMastil = pastillaMastil self.pastillaMedio = pastillaMedio self.pastillaPuente = pastillaPuente self.puente = puente self.tono1 = tono1 self.tono2 = tono2 self.volumen = volumen self.tapa = tapa self.chapa = chapa self.jack = jack self.acabado = acabado self.colorCuerpo = colorCuerpo self.colorGolpeador = colorGolpeador self.colorPastillaMastil = colorPastillaMastil self.colorPastillaMedio = colorPastillaMedio self.colorPastillaPuente = colorPastillaPuente self.colorPuente = colorPuente self.colorTono1 = colorTono1 self.colorTono2 = colorTono2 self.colorVolumen = colorVolumen self.colorTapa = colorTapa self.colorChapa = colorChapa self.colorJack = colorJack self.comentarios = comentarios def json(self): return {'id':self.id, 'nombre': self.nombre, 'telefono': self.telefono, 'email ': self.email, 'fecha': self.fecha, 'modelo': self.modelo, 'maderaCuerpo': self.maderaCuerpo, 'maderaDiapason': self.maderaDiapason, 'maderaMastil': self.maderaMastil, 'pastillaMastil': self.pastillaMastil, 'pastillaMedio': self.pastillaMedio, 'pastillaPuente': self.pastillaPuente, 'puente': self.puente, 'tono1': self.tono1, 'tono2': self.tono2, 'volumen': self.volumen, 'tapa': self.tapa, 'chapa': self.chapa, 'jack': self.jack, 'acabado': self.acabado, 'colorCuerpo': self.colorCuerpo, 'colorGolpeador': self.colorGolpeador, 'colorPastillaMastil': self.colorPastillaMastil, 'colorPastillaMedio': self.colorPastillaMedio, 'colorPastillaPuente': self.colorPastillaPuente, 'colorPuente': self.colorPuente, 'colorTono1': self.colorTono1, 'colorTono2': self.colorTono2, 'colorVolumen': self.colorVolumen, 'colorTapa': self.colorTapa, 'colorChapa': self.colorChapa, 'colorJack': self.colorJack, 'comentarios': self.comentarios } @classmethod def find_by_id(cls,id): return cls.query.filter_by(id=id).first() def insert_to_db(self): db.session.add(self) db.session.commit() def delete_from_db(self): db.session.delete(self) db.session.commit() def actualizar(self): db.session.commit()
from connection import db cart_products = db.Table( "cart_products", db.Column('cart_id', db.Integer, db.ForeignKey('cart.id'), primary_key=True), db.Column('product_id', db.Integer, db.ForeignKey('product.id'), primary_key=True)) class Cart(db.Model): __tablename__ = 'cart' id = db.Column(db.Integer, primary_key=True) user_id = db.Column(db.Integer, db.ForeignKey('user.id'), nullable=False) products = db.relationship('Product', secondary=cart_products, lazy='subquery', backref=db.backref('cart', lazy=True)) def __init__(self, user_id: int, product: int): self.user_id = user_id self.product = product
class BajosModel(db.Model): __tablename__ = 'bajos' id = db.Column(db.Integer, primary_key=True, autoincrement=True) nombre = db.Column(db.String(24)) descripcion = db.Column(db.Text) acabado = db.Column(db.String(24)) pastillas = db.Column(db.String(24)) puente = db.Column(db.String(24)) electronica = db.Column(db.String(24)) clavijero = db.Column(db.String(24)) boton = db.Column(db.Text) precio = db.Column(db.Integer) fotopal = db.Column(db.String(150)) fotopalalt = db.Column(db.String(150)) fotos = db.relationship('FotosBajosModel') def __init__(self, nombre, descripcion, acabado, pastillas, puente, electronica, clavijero, boton, precio, fotopal, fotopalalt): self.nombre = nombre self.descripcion = descripcion self.boton = boton self.precio = precio self.acabado = acabado self.pastillas = pastillas self.puente = puente self.electronica = electronica self.clavijero = clavijero self.fotopal = fotopal self.fotopalalt = fotopalalt def json(self): return { 'id': self.id, 'nombre': self.nombre, 'descripcion': self.descripcion, 'acabado': self.acabado, 'pastillas': self.pastillas, 'puente': self.puente, 'electronica': self.electronica, 'clavijero': self.clavijero, 'fotopal': self.fotopal } @classmethod def find_by_name(cls, name): return cls.query.filter_by(nombre=name).first() def insert_to_db(self): db.session.add(self) db.session.commit() def delete_from_db(self): [item.delete_from_db() for item in self.fotos] db.session.delete(self) db.session.commit() def actualizar(self): db.session.commit()