Tengo el siguiente código
class Product(Base, DBUtils):
__tablename__ = 'products'
product_id = Column(Integer, primary_key=True, server_default=FetchedValue())
category_id = Column(ForeignKey('categories.category_id'), nullable=False)
user_id = Column(ForeignKey('users.user_id'))
store_id = Column(ForeignKey('store.store_id'))
color = Column(String(80))
title = Column(String(800), nullable=False)
description = Column(Text, nullable=False)
information = Column(Text)
asin = Column(String(20), unique=True)
sku = Column(String(20))
usd = Column(MONEY)
price = Column(MONEY, nullable=False)
discount = Column(Numeric(18, 2))
earnings_percentage = Column(Numeric(5, 2), server_default=FetchedValue())
stock = Column(Integer, nullable=False)
weight = Column(Numeric(18, 2))
height = Column(Numeric(18, 2))
length = Column(Numeric(18, 2))
width = Column(Numeric(18, 2))
size = Column(String(8))
type = Column(String(100))
product_group = Column(String(150))
genre = Column(String(150))
model = Column(String(200))
edition = Column(String(200))
platform = Column(String(200))
format = Column(String(200))
is_prime = Column(SmallInteger, server_default=FetchedValue())
is_adult_product = Column(SmallInteger, server_default=FetchedValue())
package_height = Column(Numeric(10, 2))
package_length = Column(Numeric(10, 2))
package_width = Column(Numeric(10, 2))
package_weight = Column(Numeric(10, 2))
package_quantity = Column(Numeric(10, 2))
features = Column(Text)
category_tree = Column(Text)
status = Column(SmallInteger, nullable=False, server_default=FetchedValue())
created_since = Column(DateTime, server_default=FetchedValue())
updated_since = Column(DateTime)
brand = Column(String(200))
category = relationship('Category', primaryjoin='Product.category_id == Category.category_id', backref='products')
store = relationship('Store', primaryjoin='Product.store_id == Store.store_id', backref='products')
user = relationship('User', primaryjoin='Product.user_id == User.user_id', backref='products')
images = relationship('File', primaryjoin='Product.product_id == File.product_id', backref='files')
como ven , de esta manera yo invoco los campos de la base de datos y devuelvo los valores correspondientes de cada producto. Pero el tiempo de respuesta es demasiado para cada peticiòn, validando entre varios colegas me dicen que puedo trabajarlo por medio de vistas e indices para mejorar el tiempo de respuesta y no llamar todos los campos como esta en el codigo
He intentado hacerlo de la siguiente manera basandome en ejemplos encontrados durante la investigaciòn del proceso
conexion1 = psycopg2.connect(database="bd1", user="postgres", password="123456")
cursor1=conexion1.cursor()
cursor1.execute("select * from view_products")
for fila in cursor1:
print(fila)
conexion1.close()
Hasta el momento no he logrado hacer que funcione, quizas estoy haciendo algo malo , soy bastante novato en python por lo tanto requiero de su validacion.
De que manera puedo conseguir esto? alguna recomendación?