Сейчас у меня есть list и база данных, которая выглядит так:


В ней есть 3 таблицы category, product, media
А list я создаю так:
def select_product_all(self):
with self.connection:
products = []
for product in self.cursor.execute("SELECT * FROM products_product, products_product_media WHERE products_product.id = products_product_media.product_id").fetchall():
products.append(product)
self.connection.close()
return products
Сейчас, что бы например вывести строку
Для обычного кактуса соответствует картинка media/1.jpg
Мне нужна вызывать это к примеру так
print ("Для", products[0][1] , " соответствует картинка" , products[0][6])
Вот, а хочу сделать словарь и подставить туда все эти значения, так что бы я мог вызывать это так
print("Для", products.name , " соответствует картинка" , products.media])
Как мне переделать код так, что бы все ключи вроде price, category_id и т.д. заполнились в словарь?