From adbbd7539b8e253e06f4765ceebfe75dfbc54336 Mon Sep 17 00:00:00 2001 From: Andrey Smakotin Date: Fri, 23 Jan 2026 23:28:49 +0300 Subject: [PATCH] fix(orders): ensure modified_by field is set correctly for CustomUser instances Add type check for request.user being CustomUser instance before setting order.modified_by field in order_create and order_update views to prevent errors when user is not a CustomUser (e.g., admin user) --- myproject/orders/views.py | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/myproject/orders/views.py b/myproject/orders/views.py index bfb67e6..4f7bb26 100644 --- a/myproject/orders/views.py +++ b/myproject/orders/views.py @@ -91,7 +91,11 @@ def order_create(request): order.recipient = None # Статус берём из формы (в том числе может быть "Черновик") - order.modified_by = request.user + from accounts.models import CustomUser + if isinstance(request.user, CustomUser): + order.modified_by = request.user + else: + order.modified_by = None # Сохраняем заказ в БД (теперь у него есть pk) order.save() @@ -367,11 +371,16 @@ def order_update(request, order_number): # Сохраняем получателя: если новый - создаем, если существующий - обновляем recipient.save() # Django автоматически определит create или update order.recipient = recipient - else: # Если покупатель является получателем order.recipient = None - order.modified_by = request.user + from accounts.models import CustomUser + if isinstance(request.user, CustomUser): + order.modified_by = request.user + else: + # Если это админ платформы, не перезаписываем поле (оставляем как есть) + pass + order.save()