fix order create serializer context
This commit is contained in:
@@ -64,6 +64,7 @@ class MultipleOrderCreateSerializer(serializers.Serializer):
|
|||||||
|
|
||||||
def create(self, validated_data):
|
def create(self, validated_data):
|
||||||
with transaction.atomic():
|
with transaction.atomic():
|
||||||
|
print(self.context['user'])
|
||||||
resources = validated_data.pop('resources')
|
resources = validated_data.pop('resources')
|
||||||
common_date = validated_data.get('date')
|
common_date = validated_data.get('date')
|
||||||
orders = []
|
orders = []
|
||||||
@@ -103,7 +104,7 @@ class OrderListSerializer(serializers.ModelSerializer):
|
|||||||
return {
|
return {
|
||||||
"id": obj.employee.id,
|
"id": obj.employee.id,
|
||||||
"full_name": obj.employee.full_name,
|
"full_name": obj.employee.full_name,
|
||||||
"phone": obj.employee.phone
|
"phone_number": obj.employee.phone_number
|
||||||
} if obj.employee else None
|
} if obj.employee else None
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -34,13 +34,8 @@ class OrderCreateApiView(generics.CreateAPIView):
|
|||||||
permission_classes = [HasRolePermission]
|
permission_classes = [HasRolePermission]
|
||||||
required_permissions = ['order']
|
required_permissions = ['order']
|
||||||
|
|
||||||
def get_serializer_context(self):
|
|
||||||
context = super().get_serializer_context()
|
|
||||||
context['user'] = self.request.user
|
|
||||||
return context
|
|
||||||
|
|
||||||
def post(self, request):
|
def post(self, request):
|
||||||
serializer = self.serializer_class(data=request.data)
|
serializer = self.serializer_class(data=request.data, context={'user': request.user})
|
||||||
if serializer.is_valid(raise_exception=True):
|
if serializer.is_valid(raise_exception=True):
|
||||||
serializer.save()
|
serializer.save()
|
||||||
return Response({'success': True, 'message': 'orders successfully created'}, status=201)
|
return Response({'success': True, 'message': 'orders successfully created'}, status=201)
|
||||||
|
|||||||
337
resources/logs/django.log.2025-08-19
Normal file
337
resources/logs/django.log.2025-08-19
Normal file
@@ -0,0 +1,337 @@
|
|||||||
|
ERROR 2025-08-19 11:36:02,836 log Internal Server Error: /swagger/
|
||||||
|
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/drf_yasg/views.py", line 112, in get
|
||||||
|
schema = generator.get_schema(request, self.public)
|
||||||
|
File "/usr/local/lib/python3.13/site-packages/drf_yasg/generators.py", line 276, in get_schema
|
||||||
|
paths, prefix = self.get_paths(endpoints, components, request, public)
|
||||||
|
~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/usr/local/lib/python3.13/site-packages/drf_yasg/generators.py", line 482, in get_paths
|
||||||
|
operation = self.get_operation(view, path, prefix, method, components, request)
|
||||||
|
File "/usr/local/lib/python3.13/site-packages/drf_yasg/generators.py", line 524, in get_operation
|
||||||
|
operation = view_inspector.get_operation(operation_keys)
|
||||||
|
File "/usr/local/lib/python3.13/site-packages/drf_yasg/inspectors/view.py", line 32, in get_operation
|
||||||
|
body = self.get_request_body_parameters(consumes)
|
||||||
|
File "/usr/local/lib/python3.13/site-packages/drf_yasg/inspectors/view.py", line 85, in get_request_body_parameters
|
||||||
|
schema = self.get_request_body_schema(serializer)
|
||||||
|
File "/usr/local/lib/python3.13/site-packages/drf_yasg/inspectors/view.py", line 142, in get_request_body_schema
|
||||||
|
return self.serializer_to_schema(serializer)
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^
|
||||||
|
File "/usr/local/lib/python3.13/site-packages/drf_yasg/inspectors/base.py", line 438, in serializer_to_schema
|
||||||
|
return self.probe_inspectors(
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~^
|
||||||
|
self.field_inspectors, 'get_schema', serializer, {'field_inspectors': self.field_inspectors}
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
)
|
||||||
|
^
|
||||||
|
File "/usr/local/lib/python3.13/site-packages/drf_yasg/inspectors/base.py", line 110, in probe_inspectors
|
||||||
|
result = method(obj, **kwargs)
|
||||||
|
File "/usr/local/lib/python3.13/site-packages/drf_yasg/inspectors/field.py", line 49, in get_schema
|
||||||
|
return self.probe_field_inspectors(serializer, openapi.Schema, self.use_definitions)
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/usr/local/lib/python3.13/site-packages/drf_yasg/inspectors/base.py", line 228, in probe_field_inspectors
|
||||||
|
return self.probe_inspectors(
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~^
|
||||||
|
self.field_inspectors, 'field_to_swagger_object', field, {'field_inspectors': self.field_inspectors},
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
swagger_object_type=swagger_object_type, use_references=use_references, **kwargs
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
)
|
||||||
|
^
|
||||||
|
File "/usr/local/lib/python3.13/site-packages/drf_yasg/inspectors/base.py", line 110, in probe_inspectors
|
||||||
|
result = method(obj, **kwargs)
|
||||||
|
File "/usr/local/lib/python3.13/site-packages/drf_yasg/inspectors/field.py", line 140, in field_to_swagger_object
|
||||||
|
actual_schema = definitions.setdefault(ref_name, make_schema_definition)
|
||||||
|
File "/usr/local/lib/python3.13/site-packages/drf_yasg/openapi.py", line 685, in setdefault
|
||||||
|
ret = maker()
|
||||||
|
File "/usr/local/lib/python3.13/site-packages/drf_yasg/inspectors/field.py", line 109, in make_schema_definition
|
||||||
|
for property_name, child in serializer.fields.items():
|
||||||
|
^^^^^^^^^^^^^^^^^
|
||||||
|
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/rest_framework/serializers.py", line 374, in fields
|
||||||
|
for key, value in self.get_fields().items():
|
||||||
|
~~~~~~~~~~~~~~~^^
|
||||||
|
File "/usr/local/lib/python3.13/site-packages/rest_framework/serializers.py", line 1081, in get_fields
|
||||||
|
field_names = self.get_field_names(declared_fields, info)
|
||||||
|
File "/usr/local/lib/python3.13/site-packages/rest_framework/serializers.py", line 1177, in get_field_names
|
||||||
|
assert field_name in fields, (
|
||||||
|
^^^^^^^^^^^^^^^^^^^^
|
||||||
|
AssertionError: The field 'product_count' was declared on serializer SubFolderSerializer, but has not been included in the 'fields' option.
|
||||||
|
ERROR 2025-08-19 11:36:14,177 log Internal Server Error: /swagger/
|
||||||
|
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/drf_yasg/views.py", line 112, in get
|
||||||
|
schema = generator.get_schema(request, self.public)
|
||||||
|
File "/usr/local/lib/python3.13/site-packages/drf_yasg/generators.py", line 276, in get_schema
|
||||||
|
paths, prefix = self.get_paths(endpoints, components, request, public)
|
||||||
|
~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/usr/local/lib/python3.13/site-packages/drf_yasg/generators.py", line 482, in get_paths
|
||||||
|
operation = self.get_operation(view, path, prefix, method, components, request)
|
||||||
|
File "/usr/local/lib/python3.13/site-packages/drf_yasg/generators.py", line 524, in get_operation
|
||||||
|
operation = view_inspector.get_operation(operation_keys)
|
||||||
|
File "/usr/local/lib/python3.13/site-packages/drf_yasg/inspectors/view.py", line 32, in get_operation
|
||||||
|
body = self.get_request_body_parameters(consumes)
|
||||||
|
File "/usr/local/lib/python3.13/site-packages/drf_yasg/inspectors/view.py", line 85, in get_request_body_parameters
|
||||||
|
schema = self.get_request_body_schema(serializer)
|
||||||
|
File "/usr/local/lib/python3.13/site-packages/drf_yasg/inspectors/view.py", line 142, in get_request_body_schema
|
||||||
|
return self.serializer_to_schema(serializer)
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^
|
||||||
|
File "/usr/local/lib/python3.13/site-packages/drf_yasg/inspectors/base.py", line 438, in serializer_to_schema
|
||||||
|
return self.probe_inspectors(
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~^
|
||||||
|
self.field_inspectors, 'get_schema', serializer, {'field_inspectors': self.field_inspectors}
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
)
|
||||||
|
^
|
||||||
|
File "/usr/local/lib/python3.13/site-packages/drf_yasg/inspectors/base.py", line 110, in probe_inspectors
|
||||||
|
result = method(obj, **kwargs)
|
||||||
|
File "/usr/local/lib/python3.13/site-packages/drf_yasg/inspectors/field.py", line 49, in get_schema
|
||||||
|
return self.probe_field_inspectors(serializer, openapi.Schema, self.use_definitions)
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/usr/local/lib/python3.13/site-packages/drf_yasg/inspectors/base.py", line 228, in probe_field_inspectors
|
||||||
|
return self.probe_inspectors(
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~^
|
||||||
|
self.field_inspectors, 'field_to_swagger_object', field, {'field_inspectors': self.field_inspectors},
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
swagger_object_type=swagger_object_type, use_references=use_references, **kwargs
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
)
|
||||||
|
^
|
||||||
|
File "/usr/local/lib/python3.13/site-packages/drf_yasg/inspectors/base.py", line 110, in probe_inspectors
|
||||||
|
result = method(obj, **kwargs)
|
||||||
|
File "/usr/local/lib/python3.13/site-packages/drf_yasg/inspectors/field.py", line 140, in field_to_swagger_object
|
||||||
|
actual_schema = definitions.setdefault(ref_name, make_schema_definition)
|
||||||
|
File "/usr/local/lib/python3.13/site-packages/drf_yasg/openapi.py", line 685, in setdefault
|
||||||
|
ret = maker()
|
||||||
|
File "/usr/local/lib/python3.13/site-packages/drf_yasg/inspectors/field.py", line 109, in make_schema_definition
|
||||||
|
for property_name, child in serializer.fields.items():
|
||||||
|
^^^^^^^^^^^^^^^^^
|
||||||
|
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/rest_framework/serializers.py", line 374, in fields
|
||||||
|
for key, value in self.get_fields().items():
|
||||||
|
~~~~~~~~~~~~~~~^^
|
||||||
|
File "/usr/local/lib/python3.13/site-packages/rest_framework/serializers.py", line 1081, in get_fields
|
||||||
|
field_names = self.get_field_names(declared_fields, info)
|
||||||
|
File "/usr/local/lib/python3.13/site-packages/rest_framework/serializers.py", line 1177, in get_field_names
|
||||||
|
assert field_name in fields, (
|
||||||
|
^^^^^^^^^^^^^^^^^^^^
|
||||||
|
AssertionError: The field 'product_count' was declared on serializer SubFolderSerializer, but has not been included in the 'fields' option.
|
||||||
|
ERROR 2025-08-19 11:37:10,738 log Internal Server Error: /swagger/
|
||||||
|
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/drf_yasg/views.py", line 112, in get
|
||||||
|
schema = generator.get_schema(request, self.public)
|
||||||
|
File "/usr/local/lib/python3.13/site-packages/drf_yasg/generators.py", line 276, in get_schema
|
||||||
|
paths, prefix = self.get_paths(endpoints, components, request, public)
|
||||||
|
~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/usr/local/lib/python3.13/site-packages/drf_yasg/generators.py", line 482, in get_paths
|
||||||
|
operation = self.get_operation(view, path, prefix, method, components, request)
|
||||||
|
File "/usr/local/lib/python3.13/site-packages/drf_yasg/generators.py", line 524, in get_operation
|
||||||
|
operation = view_inspector.get_operation(operation_keys)
|
||||||
|
File "/usr/local/lib/python3.13/site-packages/drf_yasg/inspectors/view.py", line 32, in get_operation
|
||||||
|
body = self.get_request_body_parameters(consumes)
|
||||||
|
File "/usr/local/lib/python3.13/site-packages/drf_yasg/inspectors/view.py", line 85, in get_request_body_parameters
|
||||||
|
schema = self.get_request_body_schema(serializer)
|
||||||
|
File "/usr/local/lib/python3.13/site-packages/drf_yasg/inspectors/view.py", line 142, in get_request_body_schema
|
||||||
|
return self.serializer_to_schema(serializer)
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^
|
||||||
|
File "/usr/local/lib/python3.13/site-packages/drf_yasg/inspectors/base.py", line 438, in serializer_to_schema
|
||||||
|
return self.probe_inspectors(
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~^
|
||||||
|
self.field_inspectors, 'get_schema', serializer, {'field_inspectors': self.field_inspectors}
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
)
|
||||||
|
^
|
||||||
|
File "/usr/local/lib/python3.13/site-packages/drf_yasg/inspectors/base.py", line 110, in probe_inspectors
|
||||||
|
result = method(obj, **kwargs)
|
||||||
|
File "/usr/local/lib/python3.13/site-packages/drf_yasg/inspectors/field.py", line 49, in get_schema
|
||||||
|
return self.probe_field_inspectors(serializer, openapi.Schema, self.use_definitions)
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
File "/usr/local/lib/python3.13/site-packages/drf_yasg/inspectors/base.py", line 228, in probe_field_inspectors
|
||||||
|
return self.probe_inspectors(
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~^
|
||||||
|
self.field_inspectors, 'field_to_swagger_object', field, {'field_inspectors': self.field_inspectors},
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
swagger_object_type=swagger_object_type, use_references=use_references, **kwargs
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
)
|
||||||
|
^
|
||||||
|
File "/usr/local/lib/python3.13/site-packages/drf_yasg/inspectors/base.py", line 110, in probe_inspectors
|
||||||
|
result = method(obj, **kwargs)
|
||||||
|
File "/usr/local/lib/python3.13/site-packages/drf_yasg/inspectors/field.py", line 140, in field_to_swagger_object
|
||||||
|
actual_schema = definitions.setdefault(ref_name, make_schema_definition)
|
||||||
|
File "/usr/local/lib/python3.13/site-packages/drf_yasg/openapi.py", line 685, in setdefault
|
||||||
|
ret = maker()
|
||||||
|
File "/usr/local/lib/python3.13/site-packages/drf_yasg/inspectors/field.py", line 109, in make_schema_definition
|
||||||
|
for property_name, child in serializer.fields.items():
|
||||||
|
^^^^^^^^^^^^^^^^^
|
||||||
|
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/rest_framework/serializers.py", line 374, in fields
|
||||||
|
for key, value in self.get_fields().items():
|
||||||
|
~~~~~~~~~~~~~~~^^
|
||||||
|
File "/usr/local/lib/python3.13/site-packages/rest_framework/serializers.py", line 1081, in get_fields
|
||||||
|
field_names = self.get_field_names(declared_fields, info)
|
||||||
|
File "/usr/local/lib/python3.13/site-packages/rest_framework/serializers.py", line 1177, in get_field_names
|
||||||
|
assert field_name in fields, (
|
||||||
|
^^^^^^^^^^^^^^^^^^^^
|
||||||
|
AssertionError: The field 'product_count' was declared on serializer SubFolderSerializer, but has not been included in the 'fields' option.
|
||||||
|
ERROR 2025-08-19 11:37:39,397 log Internal Server Error: /api/v1/orders/order/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 38, in list
|
||||||
|
queryset = self.filter_queryset(self.get_queryset())
|
||||||
|
File "/usr/local/lib/python3.13/site-packages/rest_framework/generics.py", line 154, in filter_queryset
|
||||||
|
queryset = backend().filter_queryset(self.request, queryset, self)
|
||||||
|
File "/usr/local/lib/python3.13/site-packages/django_filters/rest_framework/backends.py", line 66, in filter_queryset
|
||||||
|
filterset = self.get_filterset(request, queryset, view)
|
||||||
|
File "/usr/local/lib/python3.13/site-packages/django_filters/rest_framework/backends.py", line 18, in get_filterset
|
||||||
|
filterset_class = self.get_filterset_class(view, queryset)
|
||||||
|
File "/usr/local/lib/python3.13/site-packages/django_filters/rest_framework/backends.py", line 33, in get_filterset_class
|
||||||
|
filterset_model = filterset_class._meta.model
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
AttributeError: 'list' object has no attribute '_meta'
|
||||||
Reference in New Issue
Block a user