INVOCAR VISTA DE POSTGRESQL EN PYTHON

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?