Django ORM-запрос для получения данных из нескольких таблиц

Если вы используете tomcat, а затем вместе с каталогом проектов, вы также должны скопировать файл jar-файла соединителя базы данных в tomcat / lib. это сработало для меня

1
задан Shafikur Rahman Shaon 13 July 2018 в 18:03
поделиться

1 ответ

Вы можете добавить обязательные поля к values() as,

Order.objects.select_related('account_customer').all() \
    .values('customer_id', 'other_field_1', ...) \
    .annotate(total_sales=Sum('total_price')) \
    .filter(created_at__year=today.year, created_at__month=today.month)

Это эквивалентно оператору SQL GROUP BY. Для более подробной информации прочтите официальный документ dgango doc UPDATE-1

Order.objects.annotate(
    location=F('customer__address'),
    salesperson=F('added_by'),
    shop_name=F('customer__shop_name')
).values('shop_name', 'salesperson', 'location').annotate(sales_volume=Count('orderitem__unit'),
                                                          monthly_sales=Count('total_price'))
1
ответ дан Jerin Peter George 17 August 2018 в 12:27
поделиться
  • 1
    Этот запрос не возвращает общий объем. См. Столбец объема продаж таблицы результатов – Shafikur Rahman Shaon 13 July 2018 в 17:37
  • 2
    Поля полей модели и результирующие таблицы выглядят иначе. Пожалуйста, исправьте его или укажите пример SQL-запроса, который вы хотите создать. – Jerin Peter George 13 July 2018 в 17:39
  • 3
    Мой итоговый объем продаж таблицы должен рассчитываться из колонки OrderItem. Есть ли какая-то путаница? – Shafikur Rahman Shaon 13 July 2018 в 17:48
  • 4
    location и sales volume запутывают – Jerin Peter George 13 July 2018 в 17:50
  • 5
    Местоположение указывается в модели клиента, названной как адрес, а столбец единиц в модели orderitem необходимо рассчитать на основе внешнего ключа заказа – Shafikur Rahman Shaon 13 July 2018 в 17:53
Другие вопросы по тегам:

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