django-ninja-aio-crud 2.0.0rc4__tar.gz → 2.0.0rc6__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {django_ninja_aio_crud-2.0.0rc4 → django_ninja_aio_crud-2.0.0rc6}/PKG-INFO +1 -1
- {django_ninja_aio_crud-2.0.0rc4 → django_ninja_aio_crud-2.0.0rc6}/ninja_aio/__init__.py +1 -1
- {django_ninja_aio_crud-2.0.0rc4 → django_ninja_aio_crud-2.0.0rc6}/ninja_aio/helpers/api.py +2 -2
- {django_ninja_aio_crud-2.0.0rc4 → django_ninja_aio_crud-2.0.0rc6}/ninja_aio/renders.py +8 -2
- {django_ninja_aio_crud-2.0.0rc4 → django_ninja_aio_crud-2.0.0rc6}/.github/dependabot.yml +0 -0
- {django_ninja_aio_crud-2.0.0rc4 → django_ninja_aio_crud-2.0.0rc6}/.github/workflows/coverage.yml +0 -0
- {django_ninja_aio_crud-2.0.0rc4 → django_ninja_aio_crud-2.0.0rc6}/.github/workflows/docs.yml +0 -0
- {django_ninja_aio_crud-2.0.0rc4 → django_ninja_aio_crud-2.0.0rc6}/.github/workflows/publish.yml +0 -0
- {django_ninja_aio_crud-2.0.0rc4 → django_ninja_aio_crud-2.0.0rc6}/.gitignore +0 -0
- {django_ninja_aio_crud-2.0.0rc4 → django_ninja_aio_crud-2.0.0rc6}/.pre-commit-config.yaml +0 -0
- {django_ninja_aio_crud-2.0.0rc4 → django_ninja_aio_crud-2.0.0rc6}/LICENSE +0 -0
- {django_ninja_aio_crud-2.0.0rc4 → django_ninja_aio_crud-2.0.0rc6}/README.md +0 -0
- {django_ninja_aio_crud-2.0.0rc4 → django_ninja_aio_crud-2.0.0rc6}/docs/CNAME +0 -0
- {django_ninja_aio_crud-2.0.0rc4 → django_ninja_aio_crud-2.0.0rc6}/docs/api/authentication.md +0 -0
- {django_ninja_aio_crud-2.0.0rc4 → django_ninja_aio_crud-2.0.0rc6}/docs/api/models/model_serializer.md +0 -0
- {django_ninja_aio_crud-2.0.0rc4 → django_ninja_aio_crud-2.0.0rc6}/docs/api/models/model_util.md +0 -0
- {django_ninja_aio_crud-2.0.0rc4 → django_ninja_aio_crud-2.0.0rc6}/docs/api/pagination.md +0 -0
- {django_ninja_aio_crud-2.0.0rc4 → django_ninja_aio_crud-2.0.0rc6}/docs/api/views/api_view.md +0 -0
- {django_ninja_aio_crud-2.0.0rc4 → django_ninja_aio_crud-2.0.0rc6}/docs/api/views/api_view_set.md +0 -0
- {django_ninja_aio_crud-2.0.0rc4 → django_ninja_aio_crud-2.0.0rc6}/docs/contributing.md +0 -0
- {django_ninja_aio_crud-2.0.0rc4 → django_ninja_aio_crud-2.0.0rc6}/docs/extra.css +0 -0
- {django_ninja_aio_crud-2.0.0rc4 → django_ninja_aio_crud-2.0.0rc6}/docs/getting_started/images/index/foo-index-create-swagger.png +0 -0
- {django_ninja_aio_crud-2.0.0rc4 → django_ninja_aio_crud-2.0.0rc6}/docs/getting_started/images/index/foo-index-delete-swagger.png +0 -0
- {django_ninja_aio_crud-2.0.0rc4 → django_ninja_aio_crud-2.0.0rc6}/docs/getting_started/images/index/foo-index-list-swagger.png +0 -0
- {django_ninja_aio_crud-2.0.0rc4 → django_ninja_aio_crud-2.0.0rc6}/docs/getting_started/images/index/foo-index-retrieve-swagger.png +0 -0
- {django_ninja_aio_crud-2.0.0rc4 → django_ninja_aio_crud-2.0.0rc6}/docs/getting_started/images/index/foo-index-swagger.png +0 -0
- {django_ninja_aio_crud-2.0.0rc4 → django_ninja_aio_crud-2.0.0rc6}/docs/getting_started/images/index/foo-index-update-swagger.png +0 -0
- {django_ninja_aio_crud-2.0.0rc4 → django_ninja_aio_crud-2.0.0rc6}/docs/getting_started/installation.md +0 -0
- {django_ninja_aio_crud-2.0.0rc4 → django_ninja_aio_crud-2.0.0rc6}/docs/getting_started/quick_start.md +0 -0
- {django_ninja_aio_crud-2.0.0rc4 → django_ninja_aio_crud-2.0.0rc6}/docs/images/bar-swagger.png +0 -0
- {django_ninja_aio_crud-2.0.0rc4 → django_ninja_aio_crud-2.0.0rc6}/docs/images/favicon.ico +0 -0
- {django_ninja_aio_crud-2.0.0rc4 → django_ninja_aio_crud-2.0.0rc6}/docs/images/foo-swagger.png +0 -0
- {django_ninja_aio_crud-2.0.0rc4 → django_ninja_aio_crud-2.0.0rc6}/docs/images/logo.png +0 -0
- {django_ninja_aio_crud-2.0.0rc4 → django_ninja_aio_crud-2.0.0rc6}/docs/images/model_util/foo-reverse-relations-swagger.png +0 -0
- {django_ninja_aio_crud-2.0.0rc4 → django_ninja_aio_crud-2.0.0rc6}/docs/index.md +0 -0
- {django_ninja_aio_crud-2.0.0rc4 → django_ninja_aio_crud-2.0.0rc6}/docs/release_notes.md +0 -0
- {django_ninja_aio_crud-2.0.0rc4 → django_ninja_aio_crud-2.0.0rc6}/docs/requirements.txt +0 -0
- {django_ninja_aio_crud-2.0.0rc4 → django_ninja_aio_crud-2.0.0rc6}/docs/tutorial/authentication.md +0 -0
- {django_ninja_aio_crud-2.0.0rc4 → django_ninja_aio_crud-2.0.0rc6}/docs/tutorial/crud.md +0 -0
- {django_ninja_aio_crud-2.0.0rc4 → django_ninja_aio_crud-2.0.0rc6}/docs/tutorial/filtering.md +0 -0
- {django_ninja_aio_crud-2.0.0rc4 → django_ninja_aio_crud-2.0.0rc6}/docs/tutorial/model.md +0 -0
- {django_ninja_aio_crud-2.0.0rc4 → django_ninja_aio_crud-2.0.0rc6}/examples/ex_1/models.py +0 -0
- {django_ninja_aio_crud-2.0.0rc4 → django_ninja_aio_crud-2.0.0rc6}/examples/ex_1/urls.py +0 -0
- {django_ninja_aio_crud-2.0.0rc4 → django_ninja_aio_crud-2.0.0rc6}/examples/ex_1/views.py +0 -0
- {django_ninja_aio_crud-2.0.0rc4 → django_ninja_aio_crud-2.0.0rc6}/examples/ex_2/auth.py +0 -0
- {django_ninja_aio_crud-2.0.0rc4 → django_ninja_aio_crud-2.0.0rc6}/examples/ex_2/models.py +0 -0
- {django_ninja_aio_crud-2.0.0rc4 → django_ninja_aio_crud-2.0.0rc6}/examples/ex_2/urls.py +0 -0
- {django_ninja_aio_crud-2.0.0rc4 → django_ninja_aio_crud-2.0.0rc6}/examples/ex_2/views.py +0 -0
- {django_ninja_aio_crud-2.0.0rc4 → django_ninja_aio_crud-2.0.0rc6}/main.py +0 -0
- {django_ninja_aio_crud-2.0.0rc4 → django_ninja_aio_crud-2.0.0rc6}/mkdocs.yml +0 -0
- {django_ninja_aio_crud-2.0.0rc4 → django_ninja_aio_crud-2.0.0rc6}/ninja_aio/api.py +0 -0
- {django_ninja_aio_crud-2.0.0rc4 → django_ninja_aio_crud-2.0.0rc6}/ninja_aio/auth.py +0 -0
- {django_ninja_aio_crud-2.0.0rc4 → django_ninja_aio_crud-2.0.0rc6}/ninja_aio/decorators.py +0 -0
- {django_ninja_aio_crud-2.0.0rc4 → django_ninja_aio_crud-2.0.0rc6}/ninja_aio/exceptions.py +0 -0
- {django_ninja_aio_crud-2.0.0rc4 → django_ninja_aio_crud-2.0.0rc6}/ninja_aio/helpers/__init__.py +0 -0
- {django_ninja_aio_crud-2.0.0rc4 → django_ninja_aio_crud-2.0.0rc6}/ninja_aio/helpers/query.py +0 -0
- {django_ninja_aio_crud-2.0.0rc4 → django_ninja_aio_crud-2.0.0rc6}/ninja_aio/models.py +0 -0
- {django_ninja_aio_crud-2.0.0rc4 → django_ninja_aio_crud-2.0.0rc6}/ninja_aio/parsers.py +0 -0
- {django_ninja_aio_crud-2.0.0rc4 → django_ninja_aio_crud-2.0.0rc6}/ninja_aio/schemas/__init__.py +0 -0
- {django_ninja_aio_crud-2.0.0rc4 → django_ninja_aio_crud-2.0.0rc6}/ninja_aio/schemas/api.py +0 -0
- {django_ninja_aio_crud-2.0.0rc4 → django_ninja_aio_crud-2.0.0rc6}/ninja_aio/schemas/generics.py +0 -0
- {django_ninja_aio_crud-2.0.0rc4 → django_ninja_aio_crud-2.0.0rc6}/ninja_aio/schemas/helpers.py +0 -0
- {django_ninja_aio_crud-2.0.0rc4 → django_ninja_aio_crud-2.0.0rc6}/ninja_aio/types.py +0 -0
- {django_ninja_aio_crud-2.0.0rc4 → django_ninja_aio_crud-2.0.0rc6}/ninja_aio/views.py +0 -0
- {django_ninja_aio_crud-2.0.0rc4 → django_ninja_aio_crud-2.0.0rc6}/pyproject.toml +0 -0
- {django_ninja_aio_crud-2.0.0rc4 → django_ninja_aio_crud-2.0.0rc6}/requirements.dev.txt +0 -0
- {django_ninja_aio_crud-2.0.0rc4 → django_ninja_aio_crud-2.0.0rc6}/run-local-coverage.sh +0 -0
- {django_ninja_aio_crud-2.0.0rc4 → django_ninja_aio_crud-2.0.0rc6}/tests/__init__.py +0 -0
- {django_ninja_aio_crud-2.0.0rc4 → django_ninja_aio_crud-2.0.0rc6}/tests/core/__init__.py +0 -0
- {django_ninja_aio_crud-2.0.0rc4 → django_ninja_aio_crud-2.0.0rc6}/tests/core/test_decorators.py +0 -0
- {django_ninja_aio_crud-2.0.0rc4 → django_ninja_aio_crud-2.0.0rc6}/tests/core/test_exceptions_api.py +0 -0
- {django_ninja_aio_crud-2.0.0rc4 → django_ninja_aio_crud-2.0.0rc6}/tests/core/test_renderer_parser.py +0 -0
- {django_ninja_aio_crud-2.0.0rc4 → django_ninja_aio_crud-2.0.0rc6}/tests/generics/__init__.py +0 -0
- {django_ninja_aio_crud-2.0.0rc4 → django_ninja_aio_crud-2.0.0rc6}/tests/generics/literals.py +0 -0
- {django_ninja_aio_crud-2.0.0rc4 → django_ninja_aio_crud-2.0.0rc6}/tests/generics/models.py +0 -0
- {django_ninja_aio_crud-2.0.0rc4 → django_ninja_aio_crud-2.0.0rc6}/tests/generics/request.py +0 -0
- {django_ninja_aio_crud-2.0.0rc4 → django_ninja_aio_crud-2.0.0rc6}/tests/generics/views.py +0 -0
- {django_ninja_aio_crud-2.0.0rc4 → django_ninja_aio_crud-2.0.0rc6}/tests/helpers/__init__.py +0 -0
- {django_ninja_aio_crud-2.0.0rc4 → django_ninja_aio_crud-2.0.0rc6}/tests/helpers/test_many_to_many_api.py +0 -0
- {django_ninja_aio_crud-2.0.0rc4 → django_ninja_aio_crud-2.0.0rc6}/tests/models/__init__.py +0 -0
- {django_ninja_aio_crud-2.0.0rc4 → django_ninja_aio_crud-2.0.0rc6}/tests/models/test_model_util.py +0 -0
- {django_ninja_aio_crud-2.0.0rc4 → django_ninja_aio_crud-2.0.0rc6}/tests/models/test_models_extra.py +0 -0
- {django_ninja_aio_crud-2.0.0rc4 → django_ninja_aio_crud-2.0.0rc6}/tests/test_app/__init__.py +0 -0
- {django_ninja_aio_crud-2.0.0rc4 → django_ninja_aio_crud-2.0.0rc6}/tests/test_app/models.py +0 -0
- {django_ninja_aio_crud-2.0.0rc4 → django_ninja_aio_crud-2.0.0rc6}/tests/test_app/schema.py +0 -0
- {django_ninja_aio_crud-2.0.0rc4 → django_ninja_aio_crud-2.0.0rc6}/tests/test_app/views.py +0 -0
- {django_ninja_aio_crud-2.0.0rc4 → django_ninja_aio_crud-2.0.0rc6}/tests/test_decorators.py +0 -0
- {django_ninja_aio_crud-2.0.0rc4 → django_ninja_aio_crud-2.0.0rc6}/tests/test_exceptions.py +0 -0
- {django_ninja_aio_crud-2.0.0rc4 → django_ninja_aio_crud-2.0.0rc6}/tests/test_query_util.py +0 -0
- {django_ninja_aio_crud-2.0.0rc4 → django_ninja_aio_crud-2.0.0rc6}/tests/test_settings.py +0 -0
- {django_ninja_aio_crud-2.0.0rc4 → django_ninja_aio_crud-2.0.0rc6}/tests/views/__init__.py +0 -0
- {django_ninja_aio_crud-2.0.0rc4 → django_ninja_aio_crud-2.0.0rc6}/tests/views/test_views.py +0 -0
- {django_ninja_aio_crud-2.0.0rc4 → django_ninja_aio_crud-2.0.0rc6}/tests/views/test_viewset.py +0 -0
|
@@ -306,12 +306,12 @@ class ManyToManyAPI:
|
|
|
306
306
|
continue
|
|
307
307
|
if remove ^ (rel_obj in rel_objs):
|
|
308
308
|
errors.append(
|
|
309
|
-
f"{rel_model_name} with
|
|
309
|
+
f"{rel_model_name} with pk {obj_pk} is {'not ' if remove else ''}in {self.related_model_util.model_name}"
|
|
310
310
|
)
|
|
311
311
|
continue
|
|
312
312
|
objs.append(rel_obj)
|
|
313
313
|
objs_detail.append(
|
|
314
|
-
f"{rel_model_name} with
|
|
314
|
+
f"{rel_model_name} with pk {obj_pk} successfully {'removed' if remove else 'added'}"
|
|
315
315
|
)
|
|
316
316
|
return errors, objs_detail, objs
|
|
317
317
|
|
|
@@ -4,11 +4,13 @@ from typing import Any
|
|
|
4
4
|
|
|
5
5
|
import orjson
|
|
6
6
|
from django.http import HttpRequest
|
|
7
|
+
from django.conf import settings
|
|
7
8
|
from ninja.renderers import BaseRenderer
|
|
8
9
|
|
|
9
10
|
|
|
10
11
|
class ORJSONRenderer(BaseRenderer):
|
|
11
12
|
media_type = "application/json"
|
|
13
|
+
option = getattr(settings, "NINJA_AIO_ORJSON_RENDERER_OPTION", None)
|
|
12
14
|
|
|
13
15
|
def render(self, request: HttpRequest, data: dict, *, response_status):
|
|
14
16
|
try:
|
|
@@ -16,9 +18,13 @@ class ORJSONRenderer(BaseRenderer):
|
|
|
16
18
|
for k, v in old_d.items():
|
|
17
19
|
if isinstance(v, list):
|
|
18
20
|
data |= {k: self.render_list(v)}
|
|
19
|
-
return
|
|
21
|
+
return self.dumps(self.render_dict(data))
|
|
20
22
|
except AttributeError:
|
|
21
|
-
return
|
|
23
|
+
return self.dumps(data)
|
|
24
|
+
|
|
25
|
+
@classmethod
|
|
26
|
+
def dumps(cls, data: dict) -> bytes:
|
|
27
|
+
return orjson.dumps(data, option=cls.option)
|
|
22
28
|
|
|
23
29
|
@classmethod
|
|
24
30
|
def render_list(cls, data: list[dict]) -> list[dict]:
|
|
File without changes
|
{django_ninja_aio_crud-2.0.0rc4 → django_ninja_aio_crud-2.0.0rc6}/.github/workflows/coverage.yml
RENAMED
|
File without changes
|
{django_ninja_aio_crud-2.0.0rc4 → django_ninja_aio_crud-2.0.0rc6}/.github/workflows/docs.yml
RENAMED
|
File without changes
|
{django_ninja_aio_crud-2.0.0rc4 → django_ninja_aio_crud-2.0.0rc6}/.github/workflows/publish.yml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{django_ninja_aio_crud-2.0.0rc4 → django_ninja_aio_crud-2.0.0rc6}/docs/api/authentication.md
RENAMED
|
File without changes
|
|
File without changes
|
{django_ninja_aio_crud-2.0.0rc4 → django_ninja_aio_crud-2.0.0rc6}/docs/api/models/model_util.md
RENAMED
|
File without changes
|
|
File without changes
|
{django_ninja_aio_crud-2.0.0rc4 → django_ninja_aio_crud-2.0.0rc6}/docs/api/views/api_view.md
RENAMED
|
File without changes
|
{django_ninja_aio_crud-2.0.0rc4 → django_ninja_aio_crud-2.0.0rc6}/docs/api/views/api_view_set.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{django_ninja_aio_crud-2.0.0rc4 → django_ninja_aio_crud-2.0.0rc6}/docs/images/bar-swagger.png
RENAMED
|
File without changes
|
|
File without changes
|
{django_ninja_aio_crud-2.0.0rc4 → django_ninja_aio_crud-2.0.0rc6}/docs/images/foo-swagger.png
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{django_ninja_aio_crud-2.0.0rc4 → django_ninja_aio_crud-2.0.0rc6}/docs/tutorial/authentication.md
RENAMED
|
File without changes
|
|
File without changes
|
{django_ninja_aio_crud-2.0.0rc4 → django_ninja_aio_crud-2.0.0rc6}/docs/tutorial/filtering.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{django_ninja_aio_crud-2.0.0rc4 → django_ninja_aio_crud-2.0.0rc6}/ninja_aio/helpers/__init__.py
RENAMED
|
File without changes
|
{django_ninja_aio_crud-2.0.0rc4 → django_ninja_aio_crud-2.0.0rc6}/ninja_aio/helpers/query.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{django_ninja_aio_crud-2.0.0rc4 → django_ninja_aio_crud-2.0.0rc6}/ninja_aio/schemas/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{django_ninja_aio_crud-2.0.0rc4 → django_ninja_aio_crud-2.0.0rc6}/ninja_aio/schemas/generics.py
RENAMED
|
File without changes
|
{django_ninja_aio_crud-2.0.0rc4 → django_ninja_aio_crud-2.0.0rc6}/ninja_aio/schemas/helpers.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{django_ninja_aio_crud-2.0.0rc4 → django_ninja_aio_crud-2.0.0rc6}/tests/core/test_decorators.py
RENAMED
|
File without changes
|
{django_ninja_aio_crud-2.0.0rc4 → django_ninja_aio_crud-2.0.0rc6}/tests/core/test_exceptions_api.py
RENAMED
|
File without changes
|
{django_ninja_aio_crud-2.0.0rc4 → django_ninja_aio_crud-2.0.0rc6}/tests/core/test_renderer_parser.py
RENAMED
|
File without changes
|
{django_ninja_aio_crud-2.0.0rc4 → django_ninja_aio_crud-2.0.0rc6}/tests/generics/__init__.py
RENAMED
|
File without changes
|
{django_ninja_aio_crud-2.0.0rc4 → django_ninja_aio_crud-2.0.0rc6}/tests/generics/literals.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{django_ninja_aio_crud-2.0.0rc4 → django_ninja_aio_crud-2.0.0rc6}/tests/models/test_model_util.py
RENAMED
|
File without changes
|
{django_ninja_aio_crud-2.0.0rc4 → django_ninja_aio_crud-2.0.0rc6}/tests/models/test_models_extra.py
RENAMED
|
File without changes
|
{django_ninja_aio_crud-2.0.0rc4 → django_ninja_aio_crud-2.0.0rc6}/tests/test_app/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{django_ninja_aio_crud-2.0.0rc4 → django_ninja_aio_crud-2.0.0rc6}/tests/views/test_viewset.py
RENAMED
|
File without changes
|