Ayuda por favor, en el siguiente programa, basado en el ejemplo del curso no puedo obtener y mostrar la información de la tabla User:
import peewee
import datetime
HOST = "localhost"
USER = "root"
PASSWORD = "123456"
DATABASE = "minicurso_python"
database = peewee.MySQLDatabase(DATABASE, host = HOST, port = 3306, user = USER, passwd = PASSWORD)
class User(peewee.Model):
username = peewee.CharField(unique=True, max_length=50, index=True)
password = peewee.CharField(max_length=50, null=True)
email = peewee.CharField(max_length=50)
active = peewee.BooleanField(default=True)
created_date = peewee.DateTimeField(default=datetime.datetime.now)
class Meta:
database = database
db_table = 'users'
def __str__(self):
return self.name
class Store(peewee.Model):
user = peewee.ForeignKeyField(User, related_name = 'stores') # Relacion uno a varios
name = peewee.CharField(max_length=50)
address = peewee.TextField()
active = peewee.BooleanField(default=True)
created_date = peewee.DateTimeField(default=datetime.datetime.now)
class Meta:
database = database
db_table = 'stores'
def __str__(self):
return self.name
class Product(peewee.Model):
name = peewee.CharField(max_length=100)
description = peewee.TextField()
store = peewee.ForeignKeyField(Store, related_name='products') # Relacion uno a varios
price = peewee.DecimalField(max_digits=9, decimal_places=2) #
stock = peewee.IntegerField()
created_date = peewee.DateTimeField(default=datetime.datetime.now)
class Meta:
database = database
db_table = 'products'
def __str__(self):
return self.name
def create_tables():
if Product.table_exists():
Product.drop_table()
if Store.table_exists():
Store.drop_table()
if User.table_exists():
User.drop_table()
User.create_table()
Store.create_table()
Product.create_table()
def insert_users():
user = User.create(username='Angie',password='1234',email='agodoyn@gmail.com')
user = User.create(username='Juan Pablo',password='1234',email='jp.alvarez.o@gmail.com')
def insert_stores():
Store.create(user_id=1,name='Tienda1',address='Cartagena de indias 70') #paso por valor
Store.create(user_id=1,name='Tienda2',address='Ahumada 360') #paso por valor
def insert_products():
Product.create(store_id=1,name='Pan',description='Bimbo',price=1000.0,stock=100) #paso por valor
Product.create(store_id=1,name='Leche',description='Colun',price=900.0,stock=100) #paso por valor
Product.create(store_id=1,name='Jamon de Pavo',description='Sopraval',price=1300.0,stock=100) #paso por valor
Product.create(store_id=2,name='Coca Cola',description='Zero',price=2300.0,stock=100) #paso por valor
Product.create(store_id=2,name='Tallarines',description='Carozzi',price=970.0,stock=100) #paso por valor
Product.create(store_id=2,name='Salsa',description='Whatts',price=500.0,stock=100) #paso por valor
def create_schema():
create_tables()
insert_users()
insert_stores()
insert_products()
if __name__== '__main__':
# create_schema()
query_facil = (
Product.select(User.email, Store.id, Store.name, Product.id, Product.description, Product.price, Product.stock, Product.created_date)
.join(Store)
.join(User)
.where(User.id == 1)
)
#print(query_facil)
for query in query_facil:
print("join:"
# , query.user.email
, query.store.id #store
, query.store.name #store
, query.description #product
, query.price #product
, query.stock #product
, query.created_date #product
)
"""
tiendas_facil = Store.select().where(Store.user_id==1)
for tiendas in tiendas_facil:
print("tiendas:",tiendas.id, tiendas.user_id, tiendas.name, tiendas.address, tiendas.active, tiendas.created_date)
productos_facil = Product.select().where(Product.id==1)
for productos in productos_facil:
print("productos:",productos.id, productos.name, productos.description, productos.store_id, productos.price, productos.stock, productos.created_date)
"""
import peewee
import datetime
HOST = "localhost"
USER = "root"
PASSWORD = "123456"
DATABASE = "minicurso_python"
database = peewee.MySQLDatabase(DATABASE, host = HOST, port = 3306, user = USER, passwd = PASSWORD)
class User(peewee.Model):
username = peewee.CharField(unique=True, max_length=50, index=True)
password = peewee.CharField(max_length=50, null=True)
email = peewee.CharField(max_length=50)
active = peewee.BooleanField(default=True)
created_date = peewee.DateTimeField(default=datetime.datetime.now)
class Meta:
database = database
db_table = 'users'
def __str__(self):
return self.name
class Store(peewee.Model):
user = peewee.ForeignKeyField(User, related_name = 'stores') # Relacion uno a varios
name = peewee.CharField(max_length=50)
address = peewee.TextField()
active = peewee.BooleanField(default=True)
created_date = peewee.DateTimeField(default=datetime.datetime.now)
class Meta:
database = database
db_table = 'stores'
def __str__(self):
return self.name
class Product(peewee.Model):
name = peewee.CharField(max_length=100)
description = peewee.TextField()
store = peewee.ForeignKeyField(Store, related_name='products') # Relacion uno a varios
price = peewee.DecimalField(max_digits=9, decimal_places=2) #
stock = peewee.IntegerField()
created_date = peewee.DateTimeField(default=datetime.datetime.now)
class Meta:
database = database
db_table = 'products'
def __str__(self):
return self.name
def create_tables():
if Product.table_exists():
Product.drop_table()
if Store.table_exists():
Store.drop_table()
if User.table_exists():
User.drop_table()
User.create_table()
Store.create_table()
Product.create_table()
def insert_users():
user = User.create(username='Angie',password='1234',email='agodoyn@gmail.com')
user = User.create(username='Juan Pablo',password='1234',email='jp.alvarez.o@gmail.com')
def insert_stores():
Store.create(user_id=1,name='Tienda1',address='Cartagena de indias 70') #paso por valor
Store.create(user_id=1,name='Tienda2',address='Ahumada 360') #paso por valor
def insert_products():
Product.create(store_id=1,name='Pan',description='Bimbo',price=1000.0,stock=100) #paso por valor
Product.create(store_id=1,name='Leche',description='Colun',price=900.0,stock=100) #paso por valor
Product.create(store_id=1,name='Jamon de Pavo',description='Sopraval',price=1300.0,stock=100) #paso por valor
Product.create(store_id=2,name='Coca Cola',description='Zero',price=2300.0,stock=100) #paso por valor
Product.create(store_id=2,name='Tallarines',description='Carozzi',price=970.0,stock=100) #paso por valor
Product.create(store_id=2,name='Salsa',description='Whatts',price=500.0,stock=100) #paso por valor
def create_schema():
create_tables()
insert_users()
insert_stores()
insert_products()
if __name__== '__main__':
# create_schema()
query_facil = (
Product.select(User.email, Store.id, Store.name, Product.id, Product.description, Product.price, Product.stock, Product.created_date)
.join(Store)
.join(User)
.where(User.id == 1)
)
#print(query_facil)
for query in query_facil:
print("join:"
# , query.user.email
, query.store.id #store
, query.store.name #store
, query.description #product
, query.price #product
, query.stock #product
, query.created_date #product
)
"""
tiendas_facil = Store.select().where(Store.user_id==1)
for tiendas in tiendas_facil:
print("tiendas:",tiendas.id, tiendas.user_id, tiendas.name, tiendas.address, tiendas.active, tiendas.created_date)
productos_facil = Product.select().where(Product.id==1)
for productos in productos_facil:
print("productos:",productos.id, productos.name, productos.description, productos.store_id, productos.price, productos.stock, productos.created_date)
"""