390 lines
23 KiB
Plaintext
390 lines
23 KiB
Plaintext
ERROR 2025-08-16 11:23:37,974 log Internal Server Error: /api/v1/products/product/list/
|
|
Traceback (most recent call last):
|
|
File "/usr/local/lib/python3.13/site-packages/asgiref/sync.py", line 489, in thread_handler
|
|
raise exc_info[1]
|
|
File "/usr/local/lib/python3.13/site-packages/django/core/handlers/exception.py", line 42, in inner
|
|
response = await get_response(request)
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
File "/usr/local/lib/python3.13/site-packages/asgiref/sync.py", line 489, in thread_handler
|
|
raise exc_info[1]
|
|
File "/usr/local/lib/python3.13/site-packages/django/core/handlers/base.py", line 253, in _get_response_async
|
|
response = await wrapped_callback(
|
|
^^^^^^^^^^^^^^^^^^^^^^^
|
|
request, *callback_args, **callback_kwargs
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
)
|
|
^
|
|
File "/usr/local/lib/python3.13/site-packages/asgiref/sync.py", line 439, in __call__
|
|
ret = await asyncio.shield(exec_coro)
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
File "/usr/local/lib/python3.13/concurrent/futures/thread.py", line 59, in run
|
|
result = self.fn(*self.args, **self.kwargs)
|
|
File "/usr/local/lib/python3.13/site-packages/asgiref/sync.py", line 493, in thread_handler
|
|
return func(*args, **kwargs)
|
|
File "/usr/local/lib/python3.13/site-packages/django/views/decorators/csrf.py", line 65, in _view_wrapper
|
|
return view_func(request, *args, **kwargs)
|
|
File "/usr/local/lib/python3.13/site-packages/django/views/generic/base.py", line 105, in view
|
|
return self.dispatch(request, *args, **kwargs)
|
|
~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
File "/usr/local/lib/python3.13/site-packages/rest_framework/views.py", line 515, in dispatch
|
|
response = self.handle_exception(exc)
|
|
File "/usr/local/lib/python3.13/site-packages/rest_framework/views.py", line 475, in handle_exception
|
|
self.raise_uncaught_exception(exc)
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^
|
|
File "/usr/local/lib/python3.13/site-packages/rest_framework/views.py", line 486, in raise_uncaught_exception
|
|
raise exc
|
|
File "/usr/local/lib/python3.13/site-packages/rest_framework/views.py", line 512, in dispatch
|
|
response = handler(request, *args, **kwargs)
|
|
File "/usr/local/lib/python3.13/site-packages/rest_framework/generics.py", line 203, in get
|
|
return self.list(request, *args, **kwargs)
|
|
~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
File "/usr/local/lib/python3.13/site-packages/rest_framework/mixins.py", line 43, in list
|
|
return self.get_paginated_response(serializer.data)
|
|
^^^^^^^^^^^^^^^
|
|
File "/usr/local/lib/python3.13/site-packages/rest_framework/serializers.py", line 797, in data
|
|
ret = super().data
|
|
^^^^^^^^^^^^
|
|
File "/usr/local/lib/python3.13/site-packages/rest_framework/serializers.py", line 251, in data
|
|
self._data = self.to_representation(self.instance)
|
|
~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^
|
|
File "/usr/local/lib/python3.13/site-packages/rest_framework/serializers.py", line 716, in to_representation
|
|
self.child.to_representation(item) for item in iterable
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^
|
|
File "/usr/local/lib/python3.13/site-packages/rest_framework/serializers.py", line 540, in to_representation
|
|
ret[field.field_name] = field.to_representation(attribute)
|
|
~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^
|
|
File "/usr/local/lib/python3.13/site-packages/rest_framework/fields.py", line 1870, in to_representation
|
|
return method(value)
|
|
File "/code/core/apps/products/serializers/product.py", line 19, in get_unity
|
|
'id': obj.unity.id,
|
|
^^^^^^^^^^^^
|
|
AttributeError: 'NoneType' object has no attribute 'id'
|
|
ERROR 2025-08-16 11:27:58,451 log Internal Server Error: /api/v1/products/product/list/
|
|
Traceback (most recent call last):
|
|
File "/usr/local/lib/python3.13/site-packages/django/db/models/options.py", line 683, in get_field
|
|
return self.fields_map[field_name]
|
|
~~~~~~~~~~~~~~~^^^^^^^^^^^^
|
|
KeyError: 'name'
|
|
|
|
During handling of the above exception, another exception occurred:
|
|
|
|
Traceback (most recent call last):
|
|
File "/usr/local/lib/python3.13/site-packages/asgiref/sync.py", line 489, in thread_handler
|
|
raise exc_info[1]
|
|
File "/usr/local/lib/python3.13/site-packages/django/core/handlers/exception.py", line 42, in inner
|
|
response = await get_response(request)
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
File "/usr/local/lib/python3.13/site-packages/asgiref/sync.py", line 489, in thread_handler
|
|
raise exc_info[1]
|
|
File "/usr/local/lib/python3.13/site-packages/django/core/handlers/base.py", line 253, in _get_response_async
|
|
response = await wrapped_callback(
|
|
^^^^^^^^^^^^^^^^^^^^^^^
|
|
request, *callback_args, **callback_kwargs
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
)
|
|
^
|
|
File "/usr/local/lib/python3.13/site-packages/asgiref/sync.py", line 439, in __call__
|
|
ret = await asyncio.shield(exec_coro)
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
File "/usr/local/lib/python3.13/concurrent/futures/thread.py", line 59, in run
|
|
result = self.fn(*self.args, **self.kwargs)
|
|
File "/usr/local/lib/python3.13/site-packages/asgiref/sync.py", line 493, in thread_handler
|
|
return func(*args, **kwargs)
|
|
File "/usr/local/lib/python3.13/site-packages/django/views/decorators/csrf.py", line 65, in _view_wrapper
|
|
return view_func(request, *args, **kwargs)
|
|
File "/usr/local/lib/python3.13/site-packages/django/views/generic/base.py", line 105, in view
|
|
return self.dispatch(request, *args, **kwargs)
|
|
~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
File "/usr/local/lib/python3.13/site-packages/rest_framework/views.py", line 515, in dispatch
|
|
response = self.handle_exception(exc)
|
|
File "/usr/local/lib/python3.13/site-packages/rest_framework/views.py", line 475, in handle_exception
|
|
self.raise_uncaught_exception(exc)
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^
|
|
File "/usr/local/lib/python3.13/site-packages/rest_framework/views.py", line 486, in raise_uncaught_exception
|
|
raise exc
|
|
File "/usr/local/lib/python3.13/site-packages/rest_framework/views.py", line 512, in dispatch
|
|
response = handler(request, *args, **kwargs)
|
|
File "/usr/local/lib/python3.13/site-packages/rest_framework/generics.py", line 203, in get
|
|
return self.list(request, *args, **kwargs)
|
|
~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
File "/usr/local/lib/python3.13/site-packages/rest_framework/mixins.py", line 40, in list
|
|
page = self.paginate_queryset(queryset)
|
|
File "/usr/local/lib/python3.13/site-packages/rest_framework/generics.py", line 175, in paginate_queryset
|
|
return self.paginator.paginate_queryset(queryset, self.request, view=self)
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
File "/usr/local/lib/python3.13/site-packages/rest_framework/pagination.py", line 211, in paginate_queryset
|
|
self.page = paginator.page(page_number)
|
|
~~~~~~~~~~~~~~^^^^^^^^^^^^^
|
|
File "/usr/local/lib/python3.13/site-packages/django/core/paginator.py", line 89, in page
|
|
number = self.validate_number(number)
|
|
File "/usr/local/lib/python3.13/site-packages/django/core/paginator.py", line 70, in validate_number
|
|
if number > self.num_pages:
|
|
^^^^^^^^^^^^^^
|
|
File "/usr/local/lib/python3.13/site-packages/django/utils/functional.py", line 47, in __get__
|
|
res = instance.__dict__[self.name] = self.func(instance)
|
|
~~~~~~~~~^^^^^^^^^^
|
|
File "/usr/local/lib/python3.13/site-packages/django/core/paginator.py", line 116, in num_pages
|
|
if self.count == 0 and not self.allow_empty_first_page:
|
|
^^^^^^^^^^
|
|
File "/usr/local/lib/python3.13/site-packages/django/utils/functional.py", line 47, in __get__
|
|
res = instance.__dict__[self.name] = self.func(instance)
|
|
~~~~~~~~~^^^^^^^^^^
|
|
File "/usr/local/lib/python3.13/site-packages/django/core/paginator.py", line 110, in count
|
|
return c()
|
|
File "/usr/local/lib/python3.13/site-packages/cacheops/query.py", line 271, in count
|
|
return cached_as(self)(lambda: self._no_monkey.count(self))()
|
|
~~~~~~~~~^^^^^^
|
|
File "/usr/local/lib/python3.13/site-packages/cacheops/query.py", line 64, in cached_as
|
|
qs_keys = [qs._cache_key(prefix=False) for qs in querysets]
|
|
~~~~~~~~~~~~~^^^^^^^^^^^^^^
|
|
File "/usr/local/lib/python3.13/site-packages/cacheops/query.py", line 152, in _cache_key
|
|
sql, params = self.query.get_compiler(self.db).as_sql()
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
|
|
File "/usr/local/lib/python3.13/site-packages/django/db/models/sql/compiler.py", line 766, in as_sql
|
|
extra_select, order_by, group_by = self.pre_sql_setup(
|
|
~~~~~~~~~~~~~~~~~~^
|
|
with_col_aliases=with_col_aliases or bool(combinator),
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
)
|
|
^
|
|
File "/usr/local/lib/python3.13/site-packages/django/db/models/sql/compiler.py", line 85, in pre_sql_setup
|
|
self.setup_query(with_col_aliases=with_col_aliases)
|
|
~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
File "/usr/local/lib/python3.13/site-packages/django/db/models/sql/compiler.py", line 74, in setup_query
|
|
self.select, self.klass_info, self.annotation_col_map = self.get_select(
|
|
~~~~~~~~~~~~~~~^
|
|
with_col_aliases=with_col_aliases,
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
)
|
|
^
|
|
File "/usr/local/lib/python3.13/site-packages/django/db/models/sql/compiler.py", line 252, in get_select
|
|
select_mask = self.query.get_select_mask()
|
|
File "/usr/local/lib/python3.13/site-packages/django/db/models/sql/query.py", line 885, in get_select_mask
|
|
return self._get_only_select_mask(opts, mask)
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^
|
|
File "/usr/local/lib/python3.13/site-packages/django/db/models/sql/query.py", line 860, in _get_only_select_mask
|
|
self._get_only_select_mask(
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~^
|
|
related_model._meta, field_mask, field_select_mask
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
)
|
|
^
|
|
File "/usr/local/lib/python3.13/site-packages/django/db/models/sql/query.py", line 854, in _get_only_select_mask
|
|
field = opts.get_field(field_name)
|
|
File "/usr/local/lib/python3.13/site-packages/django/db/models/options.py", line 685, in get_field
|
|
raise FieldDoesNotExist(
|
|
"%s has no field named '%s'" % (self.object_name, field_name)
|
|
)
|
|
django.core.exceptions.FieldDoesNotExist: Unity has no field named 'name'
|
|
ERROR 2025-08-16 11:27:59,903 log Internal Server Error: /api/v1/products/product/list/
|
|
Traceback (most recent call last):
|
|
File "/usr/local/lib/python3.13/site-packages/django/db/models/options.py", line 683, in get_field
|
|
return self.fields_map[field_name]
|
|
~~~~~~~~~~~~~~~^^^^^^^^^^^^
|
|
KeyError: 'name'
|
|
|
|
During handling of the above exception, another exception occurred:
|
|
|
|
Traceback (most recent call last):
|
|
File "/usr/local/lib/python3.13/site-packages/asgiref/sync.py", line 489, in thread_handler
|
|
raise exc_info[1]
|
|
File "/usr/local/lib/python3.13/site-packages/django/core/handlers/exception.py", line 42, in inner
|
|
response = await get_response(request)
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
File "/usr/local/lib/python3.13/site-packages/asgiref/sync.py", line 489, in thread_handler
|
|
raise exc_info[1]
|
|
File "/usr/local/lib/python3.13/site-packages/django/core/handlers/base.py", line 253, in _get_response_async
|
|
response = await wrapped_callback(
|
|
^^^^^^^^^^^^^^^^^^^^^^^
|
|
request, *callback_args, **callback_kwargs
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
)
|
|
^
|
|
File "/usr/local/lib/python3.13/site-packages/asgiref/sync.py", line 439, in __call__
|
|
ret = await asyncio.shield(exec_coro)
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
File "/usr/local/lib/python3.13/concurrent/futures/thread.py", line 59, in run
|
|
result = self.fn(*self.args, **self.kwargs)
|
|
File "/usr/local/lib/python3.13/site-packages/asgiref/sync.py", line 493, in thread_handler
|
|
return func(*args, **kwargs)
|
|
File "/usr/local/lib/python3.13/site-packages/django/views/decorators/csrf.py", line 65, in _view_wrapper
|
|
return view_func(request, *args, **kwargs)
|
|
File "/usr/local/lib/python3.13/site-packages/django/views/generic/base.py", line 105, in view
|
|
return self.dispatch(request, *args, **kwargs)
|
|
~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
File "/usr/local/lib/python3.13/site-packages/rest_framework/views.py", line 515, in dispatch
|
|
response = self.handle_exception(exc)
|
|
File "/usr/local/lib/python3.13/site-packages/rest_framework/views.py", line 475, in handle_exception
|
|
self.raise_uncaught_exception(exc)
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^
|
|
File "/usr/local/lib/python3.13/site-packages/rest_framework/views.py", line 486, in raise_uncaught_exception
|
|
raise exc
|
|
File "/usr/local/lib/python3.13/site-packages/rest_framework/views.py", line 512, in dispatch
|
|
response = handler(request, *args, **kwargs)
|
|
File "/usr/local/lib/python3.13/site-packages/rest_framework/generics.py", line 203, in get
|
|
return self.list(request, *args, **kwargs)
|
|
~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
File "/usr/local/lib/python3.13/site-packages/rest_framework/mixins.py", line 40, in list
|
|
page = self.paginate_queryset(queryset)
|
|
File "/usr/local/lib/python3.13/site-packages/rest_framework/generics.py", line 175, in paginate_queryset
|
|
return self.paginator.paginate_queryset(queryset, self.request, view=self)
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
File "/usr/local/lib/python3.13/site-packages/rest_framework/pagination.py", line 211, in paginate_queryset
|
|
self.page = paginator.page(page_number)
|
|
~~~~~~~~~~~~~~^^^^^^^^^^^^^
|
|
File "/usr/local/lib/python3.13/site-packages/django/core/paginator.py", line 89, in page
|
|
number = self.validate_number(number)
|
|
File "/usr/local/lib/python3.13/site-packages/django/core/paginator.py", line 70, in validate_number
|
|
if number > self.num_pages:
|
|
^^^^^^^^^^^^^^
|
|
File "/usr/local/lib/python3.13/site-packages/django/utils/functional.py", line 47, in __get__
|
|
res = instance.__dict__[self.name] = self.func(instance)
|
|
~~~~~~~~~^^^^^^^^^^
|
|
File "/usr/local/lib/python3.13/site-packages/django/core/paginator.py", line 116, in num_pages
|
|
if self.count == 0 and not self.allow_empty_first_page:
|
|
^^^^^^^^^^
|
|
File "/usr/local/lib/python3.13/site-packages/django/utils/functional.py", line 47, in __get__
|
|
res = instance.__dict__[self.name] = self.func(instance)
|
|
~~~~~~~~~^^^^^^^^^^
|
|
File "/usr/local/lib/python3.13/site-packages/django/core/paginator.py", line 110, in count
|
|
return c()
|
|
File "/usr/local/lib/python3.13/site-packages/cacheops/query.py", line 271, in count
|
|
return cached_as(self)(lambda: self._no_monkey.count(self))()
|
|
~~~~~~~~~^^^^^^
|
|
File "/usr/local/lib/python3.13/site-packages/cacheops/query.py", line 64, in cached_as
|
|
qs_keys = [qs._cache_key(prefix=False) for qs in querysets]
|
|
~~~~~~~~~~~~~^^^^^^^^^^^^^^
|
|
File "/usr/local/lib/python3.13/site-packages/cacheops/query.py", line 152, in _cache_key
|
|
sql, params = self.query.get_compiler(self.db).as_sql()
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
|
|
File "/usr/local/lib/python3.13/site-packages/django/db/models/sql/compiler.py", line 766, in as_sql
|
|
extra_select, order_by, group_by = self.pre_sql_setup(
|
|
~~~~~~~~~~~~~~~~~~^
|
|
with_col_aliases=with_col_aliases or bool(combinator),
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
)
|
|
^
|
|
File "/usr/local/lib/python3.13/site-packages/django/db/models/sql/compiler.py", line 85, in pre_sql_setup
|
|
self.setup_query(with_col_aliases=with_col_aliases)
|
|
~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
File "/usr/local/lib/python3.13/site-packages/django/db/models/sql/compiler.py", line 74, in setup_query
|
|
self.select, self.klass_info, self.annotation_col_map = self.get_select(
|
|
~~~~~~~~~~~~~~~^
|
|
with_col_aliases=with_col_aliases,
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
)
|
|
^
|
|
File "/usr/local/lib/python3.13/site-packages/django/db/models/sql/compiler.py", line 252, in get_select
|
|
select_mask = self.query.get_select_mask()
|
|
File "/usr/local/lib/python3.13/site-packages/django/db/models/sql/query.py", line 885, in get_select_mask
|
|
return self._get_only_select_mask(opts, mask)
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^
|
|
File "/usr/local/lib/python3.13/site-packages/django/db/models/sql/query.py", line 860, in _get_only_select_mask
|
|
self._get_only_select_mask(
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~^
|
|
related_model._meta, field_mask, field_select_mask
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
)
|
|
^
|
|
File "/usr/local/lib/python3.13/site-packages/django/db/models/sql/query.py", line 854, in _get_only_select_mask
|
|
field = opts.get_field(field_name)
|
|
File "/usr/local/lib/python3.13/site-packages/django/db/models/options.py", line 685, in get_field
|
|
raise FieldDoesNotExist(
|
|
"%s has no field named '%s'" % (self.object_name, field_name)
|
|
)
|
|
django.core.exceptions.FieldDoesNotExist: Unity has no field named 'name'
|
|
ERROR 2025-08-16 11:33:25,683 log Internal Server Error: /api/v1/products/product/df0d43f9-14c2-4db8-a31b-ab49220c0b50/update/
|
|
Traceback (most recent call last):
|
|
File "/usr/local/lib/python3.13/site-packages/asgiref/sync.py", line 489, in thread_handler
|
|
raise exc_info[1]
|
|
File "/usr/local/lib/python3.13/site-packages/django/core/handlers/exception.py", line 42, in inner
|
|
response = await get_response(request)
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
File "/usr/local/lib/python3.13/site-packages/asgiref/sync.py", line 489, in thread_handler
|
|
raise exc_info[1]
|
|
File "/usr/local/lib/python3.13/site-packages/django/core/handlers/base.py", line 253, in _get_response_async
|
|
response = await wrapped_callback(
|
|
^^^^^^^^^^^^^^^^^^^^^^^
|
|
request, *callback_args, **callback_kwargs
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
)
|
|
^
|
|
File "/usr/local/lib/python3.13/site-packages/asgiref/sync.py", line 439, in __call__
|
|
ret = await asyncio.shield(exec_coro)
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
File "/usr/local/lib/python3.13/concurrent/futures/thread.py", line 59, in run
|
|
result = self.fn(*self.args, **self.kwargs)
|
|
File "/usr/local/lib/python3.13/site-packages/asgiref/sync.py", line 493, in thread_handler
|
|
return func(*args, **kwargs)
|
|
File "/usr/local/lib/python3.13/site-packages/django/views/decorators/csrf.py", line 65, in _view_wrapper
|
|
return view_func(request, *args, **kwargs)
|
|
File "/usr/local/lib/python3.13/site-packages/django/views/generic/base.py", line 105, in view
|
|
return self.dispatch(request, *args, **kwargs)
|
|
~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
File "/usr/local/lib/python3.13/site-packages/rest_framework/views.py", line 515, in dispatch
|
|
response = self.handle_exception(exc)
|
|
File "/usr/local/lib/python3.13/site-packages/rest_framework/views.py", line 475, in handle_exception
|
|
self.raise_uncaught_exception(exc)
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^
|
|
File "/usr/local/lib/python3.13/site-packages/rest_framework/views.py", line 486, in raise_uncaught_exception
|
|
raise exc
|
|
File "/usr/local/lib/python3.13/site-packages/rest_framework/views.py", line 512, in dispatch
|
|
response = handler(request, *args, **kwargs)
|
|
File "/code/core/apps/products/views/product.py", line 73, in patch
|
|
if serializer.is_valid(raise_exception=True):
|
|
~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^
|
|
File "/usr/local/lib/python3.13/site-packages/rest_framework/serializers.py", line 225, in is_valid
|
|
self._validated_data = self.run_validation(self.initial_data)
|
|
~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^
|
|
File "/usr/local/lib/python3.13/site-packages/rest_framework/serializers.py", line 447, in run_validation
|
|
value = self.validate(value)
|
|
File "/code/core/apps/products/serializers/product.py", line 33, in validate
|
|
folder = Folder.objects.filter(id=data['folder_id']).first()
|
|
~~~~^^^^^^^^^^^^^
|
|
KeyError: 'folder_id'
|
|
WARNING 2025-08-16 11:33:54,147 log Bad Request: /api/v1/products/product/df0d43f9-14c2-4db8-a31b-ab49220c0b50/update/
|
|
WARNING 2025-08-16 11:36:02,628 log Not Found: /api/v1/products/product/df0d43f9-14c2-4db8-a31b-ab49220c0b50/delete/
|
|
WARNING 2025-08-16 11:36:05,795 log Not Found: /api/v1/products/product/df0d43f9-14c2-4db8-a31b-ab49220c0b50/delete/
|
|
WARNING 2025-08-16 11:36:06,351 log Not Found: /api/v1/products/product/df0d43f9-14c2-4db8-a31b-ab49220c0b50/delete/
|
|
ERROR 2025-08-16 14:32:15,075 log Internal Server Error: /api/v1/products/folder/1d47d62e-f6ba-4816-8fde-a459fb8c107e/products/
|
|
Traceback (most recent call last):
|
|
File "/usr/local/lib/python3.13/site-packages/asgiref/sync.py", line 489, in thread_handler
|
|
raise exc_info[1]
|
|
File "/usr/local/lib/python3.13/site-packages/django/core/handlers/exception.py", line 42, in inner
|
|
response = await get_response(request)
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
File "/usr/local/lib/python3.13/site-packages/asgiref/sync.py", line 489, in thread_handler
|
|
raise exc_info[1]
|
|
File "/usr/local/lib/python3.13/site-packages/django/core/handlers/base.py", line 253, in _get_response_async
|
|
response = await wrapped_callback(
|
|
^^^^^^^^^^^^^^^^^^^^^^^
|
|
request, *callback_args, **callback_kwargs
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
)
|
|
^
|
|
File "/usr/local/lib/python3.13/site-packages/asgiref/sync.py", line 439, in __call__
|
|
ret = await asyncio.shield(exec_coro)
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
File "/usr/local/lib/python3.13/concurrent/futures/thread.py", line 59, in run
|
|
result = self.fn(*self.args, **self.kwargs)
|
|
File "/usr/local/lib/python3.13/site-packages/asgiref/sync.py", line 493, in thread_handler
|
|
return func(*args, **kwargs)
|
|
File "/usr/local/lib/python3.13/site-packages/django/views/decorators/csrf.py", line 65, in _view_wrapper
|
|
return view_func(request, *args, **kwargs)
|
|
File "/usr/local/lib/python3.13/site-packages/django/views/generic/base.py", line 105, in view
|
|
return self.dispatch(request, *args, **kwargs)
|
|
~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
File "/usr/local/lib/python3.13/site-packages/rest_framework/views.py", line 515, in dispatch
|
|
response = self.handle_exception(exc)
|
|
File "/usr/local/lib/python3.13/site-packages/rest_framework/views.py", line 475, in handle_exception
|
|
self.raise_uncaught_exception(exc)
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^
|
|
File "/usr/local/lib/python3.13/site-packages/rest_framework/views.py", line 486, in raise_uncaught_exception
|
|
raise exc
|
|
File "/usr/local/lib/python3.13/site-packages/rest_framework/views.py", line 512, in dispatch
|
|
response = handler(request, *args, **kwargs)
|
|
File "/code/core/apps/products/views/product.py", line 111, in get
|
|
products = Product.objects.filder(folder=folder)
|
|
^^^^^^^^^^^^^^^^^^^^^^
|
|
AttributeError: 'Manager' object has no attribute 'filder'. Did you mean: 'filter'?
|