Исправлен фильтр по номеру заказа на отладочной странице
Проблема: - Фильтр по заказу не работал - order_number в форме передается как строка (ORD-103 или 103) - В модели Order поле order_number имеет тип PositiveIntegerField - Не было преобразования строки в число Исправление: - Добавлен парсинг номера заказа: * Если формат 'ORD-103' -> извлекается число 103 * Если просто '103' -> преобразуется в число 103 - Добавлена обработка ошибок (try-except) - Добавлена фильтрация таблицы заказов (показывать только выбранный) Теперь фильтр работает с любым форматом ввода: - ORD-103 ✓ - ord-103 ✓ - 103 ✓
This commit is contained in:
@@ -53,7 +53,19 @@ def debug_inventory_page(request):
|
|||||||
product = None
|
product = None
|
||||||
|
|
||||||
if order_number:
|
if order_number:
|
||||||
order = Order.objects.filter(order_number=order_number).first()
|
# Парсим номер заказа: "ORD-103" -> 103 или "103" -> 103
|
||||||
|
try:
|
||||||
|
# Если формат "ORD-XXX", извлекаем число
|
||||||
|
if order_number.upper().startswith('ORD-'):
|
||||||
|
order_num = int(order_number.upper().replace('ORD-', ''))
|
||||||
|
else:
|
||||||
|
# Просто число
|
||||||
|
order_num = int(order_number)
|
||||||
|
|
||||||
|
order = Order.objects.filter(order_number=order_num).first()
|
||||||
|
except (ValueError, AttributeError):
|
||||||
|
order = None
|
||||||
|
|
||||||
if order:
|
if order:
|
||||||
reservations = reservations.filter(order_item__order=order)
|
reservations = reservations.filter(order_item__order=order)
|
||||||
sales = sales.filter(order=order)
|
sales = sales.filter(order=order)
|
||||||
@@ -62,6 +74,8 @@ def debug_inventory_page(request):
|
|||||||
stock_batches = stock_batches.filter(product_id__in=product_ids)
|
stock_batches = stock_batches.filter(product_id__in=product_ids)
|
||||||
stocks = stocks.filter(product_id__in=product_ids)
|
stocks = stocks.filter(product_id__in=product_ids)
|
||||||
allocations = allocations.filter(sale__order=order)
|
allocations = allocations.filter(sale__order=order)
|
||||||
|
# Фильтруем только этот заказ в таблице заказов
|
||||||
|
orders = orders.filter(id=order.id)
|
||||||
else:
|
else:
|
||||||
order = None
|
order = None
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user