Задать вопрос
@trello100

Как сформировать сложный запрос к БД, чтобы получить кортеж с 2мя ответами?

Сервер отправляет 2 запроса к БД:
1) Получает объект продукта по id продукта
2) Получает количество уникальных товаров в корзине
product_handler = ShoppingCart.query.filter(ShoppingCart.user_id == current_user.id, ShoppingCart.product_id == current_product_id).first()
number_of_products = ShoppingCart.query.filter(ShoppingCart.user_id == current_user_id).count()

Каким образом написать один запрос, чтобы получать один ответ в виде кортежа?
  • Вопрос задан
  • 107 просмотров
Подписаться 1 Простой 1 комментарий
Пригласить эксперта
Ответы на вопрос 2
Stalker_RED
@Stalker_RED
Через sqlalchemy можно применить и GROUP BY и COUNT.
В итоге запрос выйдет примерно такой:
SELECT product.*, COUNT() cnt FROM cart
WHERE user_id=42 AND product_id=1
GROUP BY user_id
ORDER BY date -- например
Ответ написан
@damprog
и зачем это делать 2 запросами?
1 запрос
number_of_products = ShoppingCart.query.filter(ShoppingCart.user_id == current_user_id)
а дальше
count = len(number_of_products)
prod_id = number_of_products.sort()[0]
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы