From 34e5a0143bb05c93e6d8bbc5225c838150ced36b Mon Sep 17 00:00:00 2001 From: Andrey Smakotin Date: Sun, 14 Dec 2025 15:27:03 +0300 Subject: [PATCH] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D0=BE=20=D0=B2=D1=80=D0=B5=D0=BC=D1=8F=20=D0=B7?= =?UTF-8?q?=D0=B0=D0=BA=D0=B0=D0=B7=D0=BE=D0=B2:=20=D0=BF=D0=B5=D1=80?= =?UTF-8?q?=D0=B5=D1=85=D0=BE=D0=B4=20=D0=BD=D0=B0=20=D0=BC=D0=B8=D0=BD?= =?UTF-8?q?=D1=81=D0=BA=D0=B8=D0=B9=20=D1=87=D0=B0=D1=81=D0=BE=D0=B2=D0=BE?= =?UTF-8?q?=D0=B9=20=D0=BF=D0=BE=D1=8F=D1=81=20(Europe/Minsk)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Изменён TIME_ZONE с Europe/Moscow на Europe/Minsk в settings.py - Исправлено создание заказов в POS: теперь используется timezone.localtime() для корректной конвертации UTC → Minsk - delivery_date и delivery_time_start/end теперь сохраняются в минском времени, а не UTC - Исправлена разница в 3 часа между временем создания заказа и фактическим временем - Удалено устаревшее поле payment_method из showcase_manager.py (поле было удалено из модели Order) Теперь все временные метки заказов соответствуют реальному минскому времени --- myproject/inventory/services/showcase_manager.py | 1 - myproject/myproject/settings.py | 2 +- myproject/pos/views.py | 13 ++++++++----- 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/myproject/inventory/services/showcase_manager.py b/myproject/inventory/services/showcase_manager.py index 80ad446..96d0726 100644 --- a/myproject/inventory/services/showcase_manager.py +++ b/myproject/inventory/services/showcase_manager.py @@ -277,7 +277,6 @@ class ShowcaseManager: is_delivery=False, pickup_warehouse=warehouse, status=completed_status, - payment_method=payment_method, is_paid=True, modified_by=user ) diff --git a/myproject/myproject/settings.py b/myproject/myproject/settings.py index 9877b4f..dd518c0 100644 --- a/myproject/myproject/settings.py +++ b/myproject/myproject/settings.py @@ -211,7 +211,7 @@ AUTH_PASSWORD_VALIDATORS = [ # ============================================ LANGUAGE_CODE = 'ru-ru' -TIME_ZONE = 'Europe/Moscow' +TIME_ZONE = 'Europe/Minsk' USE_I18N = True USE_TZ = True diff --git a/myproject/pos/views.py b/myproject/pos/views.py index fcd9d4e..e876d3d 100644 --- a/myproject/pos/views.py +++ b/myproject/pos/views.py @@ -1408,16 +1408,19 @@ def pos_checkout(request): # Атомарная операция with db_transaction.atomic(): - # 1. Создаём заказ с автоматическим проставлением текущей даты и времени - now = timezone.now() - current_time = now.time() + # 1. Создаём заказ с текущей датой и временем в локальном часовом поясе (Europe/Minsk) + from django.utils import timezone as tz + now_utc = tz.now() # Текущее время в UTC + now_local = tz.localtime(now_utc) # Конвертируем в локальный часовой пояс (Europe/Minsk) + current_time = now_local.time() # Извлекаем время в минском часовом поясе + order = Order.objects.create( customer=customer, is_delivery=False, # POS - всегда самовывоз pickup_warehouse=warehouse, status=completed_status, # Сразу "Выполнен" - delivery_date=now.date(), # Текущая дата - delivery_time_start=current_time, # Текущее время + delivery_date=now_local.date(), # Текущая дата в минском часовом поясе + delivery_time_start=current_time, # Текущее время (Минск) delivery_time_end=current_time, # То же время (точное время) special_instructions=order_notes, modified_by=request.user