Hello,
i use PageNumberPaginationExtra pagination
NINJA_EXTRA = {
'PAGINATION_CLASS': 'ninja_extra.pagination.PageNumberPaginationExtra',
'PAGINATION_PER_PAGE': 2,
'ORDERING_CLASS': "ninja_extra.ordering.Ordering",
}
@http_get(
path="",
response={
HTTPStatus.INTERNAL_SERVER_ERROR: ErrorSchema,
HTTPStatus.OK: PaginatedResponseSchema[UserSchema],
},
summary="User List",
description="This endpoint retrieves a list of users.",
url_name="user_list"
)
@paginate() # use default pagination (which define in setting.py)
@ordering(Ordering, ordering_fields=['username'])
@searching(Searching, search_fields=['username', 'first_name'])
def list(self):
try:
....
....
except Exception as ex:
return (
HTTPStatus.INTERNAL_SERVER_ERROR,
ErrorSchema(error_message="Something went wrong.", code=1001)
)
if i return ErrorSchema Response ,
it throws below error:
[34743 135260654274112 23/Sep/2024 10:23:50] ERROR [django:116] 4 validation errors for NinjaResponseSchema
response.results.0.id
Field required [type=missing, input_value=<DjangoGetter: <HTTPStatu...RNAL_SERVER_ERROR: 500>>, input_type=DjangoGetter]
For further information visit https://errors.pydantic.dev/2.8/v/missing
response.results.0.username
Field required [type=missing, input_value=<DjangoGetter: <HTTPStatu...RNAL_SERVER_ERROR: 500>>, input_type=DjangoGetter]
For further information visit https://errors.pydantic.dev/2.8/v/missing
response.results.1.id
Field required [type=missing, input_value=<DjangoGetter: ErrorSchem...try later.', code=None)>, input_type=DjangoGetter]
For further information visit https://errors.pydantic.dev/2.8/v/missing
response.results.1.username
Field required [type=missing, input_value=<DjangoGetter: ErrorSchem...try later.', code=None)>, input_type=DjangoGetter]
For further information visit https://errors.pydantic.dev/2.8/v/missing
Traceback (most recent call last):
File "/home/meet/venv/bk-planner/lib/python3.10/site-packages/ninja_extra/operation.py", line 195, in run
_processed_results = self._result_to_response(
File "/home/meet/venv/bk-planner/lib/python3.10/site-packages/ninja/operation.py", line 260, in _result_to_response
validated_object = response_model.model_validate(
File "/home/meet/venv/bk-planner/lib/python3.10/site-packages/pydantic/main.py", line 568, in model_validate
return cls.__pydantic_validator__.validate_python(
pydantic_core._pydantic_core.ValidationError: 4 validation errors for NinjaResponseSchema
response.results.0.id
Field required [type=missing, input_value=<DjangoGetter: <HTTPStatu...RNAL_SERVER_ERROR: 500>>, input_type=DjangoGetter]
For further information visit https://errors.pydantic.dev/2.8/v/missing
response.results.0.username
Field required [type=missing, input_value=<DjangoGetter: <HTTPStatu...RNAL_SERVER_ERROR: 500>>, input_type=DjangoGetter]
For further information visit https://errors.pydantic.dev/2.8/v/missing
response.results.1.id
Field required [type=missing, input_value=<DjangoGetter: ErrorSchem...try later.', code=None)>, input_type=DjangoGetter]
For further information visit https://errors.pydantic.dev/2.8/v/missing
response.results.1.username
Field required [type=missing, input_value=<DjangoGetter: ErrorSchem...try later.', code=None)>, input_type=DjangoGetter]
For further information visit https://errors.pydantic.dev/2.8/v/missing
Hello, i use PageNumberPaginationExtra pagination NINJA_EXTRA = { 'PAGINATION_CLASS': 'ninja_extra.pagination.PageNumberPaginationExtra', 'PAGINATION_PER_PAGE': 2, 'ORDERING_CLASS': "ninja_extra.ordering.Ordering", }
if i return ErrorSchema Response , it throws below error:
[34743 135260654274112 23/Sep/2024 10:23:50] ERROR [django:116] 4 validation errors for NinjaResponseSchema response.results.0.id Field required [type=missing, input_value=<DjangoGetter: <HTTPStatu...RNAL_SERVER_ERROR: 500>>, input_type=DjangoGetter] For further information visit https://errors.pydantic.dev/2.8/v/missing response.results.0.username Field required [type=missing, input_value=<DjangoGetter: <HTTPStatu...RNAL_SERVER_ERROR: 500>>, input_type=DjangoGetter] For further information visit https://errors.pydantic.dev/2.8/v/missing response.results.1.id Field required [type=missing, input_value=<DjangoGetter: ErrorSchem...try later.', code=None)>, input_type=DjangoGetter] For further information visit https://errors.pydantic.dev/2.8/v/missing response.results.1.username Field required [type=missing, input_value=<DjangoGetter: ErrorSchem...try later.', code=None)>, input_type=DjangoGetter] For further information visit https://errors.pydantic.dev/2.8/v/missing Traceback (most recent call last): File "/home/meet/venv/bk-planner/lib/python3.10/site-packages/ninja_extra/operation.py", line 195, in run _processed_results = self._result_to_response( File "/home/meet/venv/bk-planner/lib/python3.10/site-packages/ninja/operation.py", line 260, in _result_to_response validated_object = response_model.model_validate( File "/home/meet/venv/bk-planner/lib/python3.10/site-packages/pydantic/main.py", line 568, in model_validate return cls.__pydantic_validator__.validate_python( pydantic_core._pydantic_core.ValidationError: 4 validation errors for NinjaResponseSchema response.results.0.id Field required [type=missing, input_value=<DjangoGetter: <HTTPStatu...RNAL_SERVER_ERROR: 500>>, input_type=DjangoGetter] For further information visit https://errors.pydantic.dev/2.8/v/missing response.results.0.username Field required [type=missing, input_value=<DjangoGetter: <HTTPStatu...RNAL_SERVER_ERROR: 500>>, input_type=DjangoGetter] For further information visit https://errors.pydantic.dev/2.8/v/missing response.results.1.id Field required [type=missing, input_value=<DjangoGetter: ErrorSchem...try later.', code=None)>, input_type=DjangoGetter] For further information visit https://errors.pydantic.dev/2.8/v/missing response.results.1.username Field required [type=missing, input_value=<DjangoGetter: ErrorSchem...try later.', code=None)>, input_type=DjangoGetter] For further information visit https://errors.pydantic.dev/2.8/v/missing