""" Проверка созданных заказов и резервов """ import os import django os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'myproject.settings') django.setup() from django.db import connection with connection.cursor() as cursor: cursor.execute("SET search_path TO grach") # Считаем заказы cursor.execute("SELECT COUNT(*) FROM grach.orders_order") orders_count = cursor.fetchone()[0] print(f"Заказов: {orders_count}") # Считаем позиции заказов cursor.execute("SELECT COUNT(*) FROM grach.orders_orderitem") items_count = cursor.fetchone()[0] print(f"Позиций в заказах: {items_count}") # Считаем резервы cursor.execute("SELECT COUNT(*) FROM grach.inventory_reservation") reservations_count = cursor.fetchone()[0] print(f"Резервов: {reservations_count}") # Детали по заказам без резервов print("\nПервые 10 позиций без резервов:") cursor.execute(""" SELECT o.order_number, oi.id as item_id, p.name as product_name, oi.quantity, COUNT(r.id) as reservations_count FROM grach.orders_order o JOIN grach.orders_orderitem oi ON oi.order_id = o.id LEFT JOIN grach.products_product p ON p.id = oi.product_id LEFT JOIN grach.inventory_reservation r ON r.order_item_id = oi.id GROUP BY o.order_number, oi.id, p.name, oi.quantity HAVING COUNT(r.id) = 0 ORDER BY o.order_number LIMIT 10 """) rows = cursor.fetchall() if rows: for row in rows: print(f" Заказ {row[0]}: ItemID={row[1]}, Товар=\"{row[2]}\", Кол-во={row[3]}, Резервов={row[4]}") else: print(" Все позиции имеют резервы!")