-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmodel.py
63 lines (53 loc) · 1.54 KB
/
model.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
"""
Clase que crea la base de datos
"""
from peewee import AutoField, Model, SqliteDatabase, CharField, DecimalField, IntegerField
# crea la db
db = SqliteDatabase('basededatos.db')
class BaseModel(Model):
"""
Clase base para los modelos de la
base de datos, que hereda de peewee
"""
class Meta:
database = db
class Producto(BaseModel):
"""
Modelo de productos
que modela un material con sus campos
"""
id = AutoField()
material = CharField()
descripcion = CharField()
precio_venta = DecimalField()
precio_costo = DecimalField()
stock = IntegerField() # Cambiado de AutoField a IntegerField
proveedor = CharField()
def __str__(self):
return f"Producto: {self.material} - Descripción: {self.descripcion} - Precio venta: ${self.precio_venta:.2f}"
class RegistroLog(BaseModel):
"""
Modelo de registro de log
que modela un registro de log con sus campos
"""
id = AutoField()
fecha = CharField()
hora = CharField()
descripcion = CharField()
usuario = CharField()
accion = CharField()
def __str__(self):
return f"Fecha: {self.fecha} - Descripción: {self.descripcion}"
class CrearBaseDatos():
"""
Clase para crear la
base de datos y las tablas correspondientes
"""
def crear_base_datos(self):
"""
Metodo para crear la base de datos
"""
db.connect()
db.create_tables([Producto, RegistroLog])
def __str__(self):
return "realiza la conexion y crea la tabla"