django-ninja-aio-crud 2.11.0__tar.gz → 2.11.2__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.
Potentially problematic release.
This version of django-ninja-aio-crud might be problematic. Click here for more details.
- {django_ninja_aio_crud-2.11.0 → django_ninja_aio_crud-2.11.2}/PKG-INFO +1 -1
- django_ninja_aio_crud-2.11.2/docs/api/renderers/orjson_renderer.md +57 -0
- {django_ninja_aio_crud-2.11.0 → django_ninja_aio_crud-2.11.2}/ninja_aio/__init__.py +1 -1
- {django_ninja_aio_crud-2.11.0 → django_ninja_aio_crud-2.11.2}/ninja_aio/models/utils.py +1 -1
- {django_ninja_aio_crud-2.11.0 → django_ninja_aio_crud-2.11.2}/ninja_aio/renders.py +3 -1
- {django_ninja_aio_crud-2.11.0 → django_ninja_aio_crud-2.11.2}/tests/core/test_renderer_parser.py +23 -0
- django_ninja_aio_crud-2.11.0/docs/api/renderers/orjson_renderer.md +0 -20
- {django_ninja_aio_crud-2.11.0 → django_ninja_aio_crud-2.11.2}/.github/dependabot.yml +0 -0
- {django_ninja_aio_crud-2.11.0 → django_ninja_aio_crud-2.11.2}/.github/workflows/coverage.yml +0 -0
- {django_ninja_aio_crud-2.11.0 → django_ninja_aio_crud-2.11.2}/.github/workflows/docs.yml +0 -0
- {django_ninja_aio_crud-2.11.0 → django_ninja_aio_crud-2.11.2}/.github/workflows/publish.yml +0 -0
- {django_ninja_aio_crud-2.11.0 → django_ninja_aio_crud-2.11.2}/.gitignore +0 -0
- {django_ninja_aio_crud-2.11.0 → django_ninja_aio_crud-2.11.2}/.pre-commit-config.yaml +0 -0
- {django_ninja_aio_crud-2.11.0 → django_ninja_aio_crud-2.11.2}/LICENSE +0 -0
- {django_ninja_aio_crud-2.11.0 → django_ninja_aio_crud-2.11.2}/README.md +0 -0
- {django_ninja_aio_crud-2.11.0 → django_ninja_aio_crud-2.11.2}/docs/CNAME +0 -0
- {django_ninja_aio_crud-2.11.0 → django_ninja_aio_crud-2.11.2}/docs/api/authentication.md +0 -0
- {django_ninja_aio_crud-2.11.0 → django_ninja_aio_crud-2.11.2}/docs/api/models/model_serializer.md +0 -0
- {django_ninja_aio_crud-2.11.0 → django_ninja_aio_crud-2.11.2}/docs/api/models/model_util.md +0 -0
- {django_ninja_aio_crud-2.11.0 → django_ninja_aio_crud-2.11.2}/docs/api/models/serializers.md +0 -0
- {django_ninja_aio_crud-2.11.0 → django_ninja_aio_crud-2.11.2}/docs/api/pagination.md +0 -0
- {django_ninja_aio_crud-2.11.0 → django_ninja_aio_crud-2.11.2}/docs/api/views/api_view.md +0 -0
- {django_ninja_aio_crud-2.11.0 → django_ninja_aio_crud-2.11.2}/docs/api/views/api_view_set.md +0 -0
- {django_ninja_aio_crud-2.11.0 → django_ninja_aio_crud-2.11.2}/docs/api/views/decorators.md +0 -0
- {django_ninja_aio_crud-2.11.0 → django_ninja_aio_crud-2.11.2}/docs/api/views/mixins.md +0 -0
- {django_ninja_aio_crud-2.11.0 → django_ninja_aio_crud-2.11.2}/docs/auth.md +0 -0
- {django_ninja_aio_crud-2.11.0 → django_ninja_aio_crud-2.11.2}/docs/contributing.md +0 -0
- {django_ninja_aio_crud-2.11.0 → django_ninja_aio_crud-2.11.2}/docs/extra.css +0 -0
- {django_ninja_aio_crud-2.11.0 → django_ninja_aio_crud-2.11.2}/docs/getting_started/images/index/foo-index-create-swagger.png +0 -0
- {django_ninja_aio_crud-2.11.0 → django_ninja_aio_crud-2.11.2}/docs/getting_started/images/index/foo-index-delete-swagger.png +0 -0
- {django_ninja_aio_crud-2.11.0 → django_ninja_aio_crud-2.11.2}/docs/getting_started/images/index/foo-index-list-swagger.png +0 -0
- {django_ninja_aio_crud-2.11.0 → django_ninja_aio_crud-2.11.2}/docs/getting_started/images/index/foo-index-retrieve-swagger.png +0 -0
- {django_ninja_aio_crud-2.11.0 → django_ninja_aio_crud-2.11.2}/docs/getting_started/images/index/foo-index-swagger.png +0 -0
- {django_ninja_aio_crud-2.11.0 → django_ninja_aio_crud-2.11.2}/docs/getting_started/images/index/foo-index-update-swagger.png +0 -0
- {django_ninja_aio_crud-2.11.0 → django_ninja_aio_crud-2.11.2}/docs/getting_started/installation.md +0 -0
- {django_ninja_aio_crud-2.11.0 → django_ninja_aio_crud-2.11.2}/docs/getting_started/quick_start.md +0 -0
- {django_ninja_aio_crud-2.11.0 → django_ninja_aio_crud-2.11.2}/docs/images/bar-swagger.png +0 -0
- {django_ninja_aio_crud-2.11.0 → django_ninja_aio_crud-2.11.2}/docs/images/favicon.ico +0 -0
- {django_ninja_aio_crud-2.11.0 → django_ninja_aio_crud-2.11.2}/docs/images/foo-swagger.png +0 -0
- {django_ninja_aio_crud-2.11.0 → django_ninja_aio_crud-2.11.2}/docs/images/logo.png +0 -0
- {django_ninja_aio_crud-2.11.0 → django_ninja_aio_crud-2.11.2}/docs/images/model_util/foo-reverse-relations-swagger.png +0 -0
- {django_ninja_aio_crud-2.11.0 → django_ninja_aio_crud-2.11.2}/docs/index.md +0 -0
- {django_ninja_aio_crud-2.11.0 → django_ninja_aio_crud-2.11.2}/docs/release_notes.md +0 -0
- {django_ninja_aio_crud-2.11.0 → django_ninja_aio_crud-2.11.2}/docs/requirements.txt +0 -0
- {django_ninja_aio_crud-2.11.0 → django_ninja_aio_crud-2.11.2}/docs/tutorial/authentication.md +0 -0
- {django_ninja_aio_crud-2.11.0 → django_ninja_aio_crud-2.11.2}/docs/tutorial/crud.md +0 -0
- {django_ninja_aio_crud-2.11.0 → django_ninja_aio_crud-2.11.2}/docs/tutorial/filtering.md +0 -0
- {django_ninja_aio_crud-2.11.0 → django_ninja_aio_crud-2.11.2}/docs/tutorial/model.md +0 -0
- {django_ninja_aio_crud-2.11.0 → django_ninja_aio_crud-2.11.2}/main.py +0 -0
- {django_ninja_aio_crud-2.11.0 → django_ninja_aio_crud-2.11.2}/mkdocs.yml +0 -0
- {django_ninja_aio_crud-2.11.0 → django_ninja_aio_crud-2.11.2}/ninja_aio/api.py +0 -0
- {django_ninja_aio_crud-2.11.0 → django_ninja_aio_crud-2.11.2}/ninja_aio/auth.py +0 -0
- {django_ninja_aio_crud-2.11.0 → django_ninja_aio_crud-2.11.2}/ninja_aio/decorators/__init__.py +0 -0
- {django_ninja_aio_crud-2.11.0 → django_ninja_aio_crud-2.11.2}/ninja_aio/decorators/operations.py +0 -0
- {django_ninja_aio_crud-2.11.0 → django_ninja_aio_crud-2.11.2}/ninja_aio/decorators/views.py +0 -0
- {django_ninja_aio_crud-2.11.0 → django_ninja_aio_crud-2.11.2}/ninja_aio/exceptions.py +0 -0
- {django_ninja_aio_crud-2.11.0 → django_ninja_aio_crud-2.11.2}/ninja_aio/factory/__init__.py +0 -0
- {django_ninja_aio_crud-2.11.0 → django_ninja_aio_crud-2.11.2}/ninja_aio/factory/operations.py +0 -0
- {django_ninja_aio_crud-2.11.0 → django_ninja_aio_crud-2.11.2}/ninja_aio/helpers/__init__.py +0 -0
- {django_ninja_aio_crud-2.11.0 → django_ninja_aio_crud-2.11.2}/ninja_aio/helpers/api.py +0 -0
- {django_ninja_aio_crud-2.11.0 → django_ninja_aio_crud-2.11.2}/ninja_aio/helpers/query.py +0 -0
- {django_ninja_aio_crud-2.11.0 → django_ninja_aio_crud-2.11.2}/ninja_aio/models/__init__.py +0 -0
- {django_ninja_aio_crud-2.11.0 → django_ninja_aio_crud-2.11.2}/ninja_aio/models/serializers.py +0 -0
- {django_ninja_aio_crud-2.11.0 → django_ninja_aio_crud-2.11.2}/ninja_aio/parsers.py +0 -0
- {django_ninja_aio_crud-2.11.0 → django_ninja_aio_crud-2.11.2}/ninja_aio/schemas/__init__.py +0 -0
- {django_ninja_aio_crud-2.11.0 → django_ninja_aio_crud-2.11.2}/ninja_aio/schemas/api.py +0 -0
- {django_ninja_aio_crud-2.11.0 → django_ninja_aio_crud-2.11.2}/ninja_aio/schemas/filters.py +0 -0
- {django_ninja_aio_crud-2.11.0 → django_ninja_aio_crud-2.11.2}/ninja_aio/schemas/generics.py +0 -0
- {django_ninja_aio_crud-2.11.0 → django_ninja_aio_crud-2.11.2}/ninja_aio/schemas/helpers.py +0 -0
- {django_ninja_aio_crud-2.11.0 → django_ninja_aio_crud-2.11.2}/ninja_aio/types.py +0 -0
- {django_ninja_aio_crud-2.11.0 → django_ninja_aio_crud-2.11.2}/ninja_aio/views/__init__.py +0 -0
- {django_ninja_aio_crud-2.11.0 → django_ninja_aio_crud-2.11.2}/ninja_aio/views/api.py +0 -0
- {django_ninja_aio_crud-2.11.0 → django_ninja_aio_crud-2.11.2}/ninja_aio/views/mixins.py +0 -0
- {django_ninja_aio_crud-2.11.0 → django_ninja_aio_crud-2.11.2}/pyproject.toml +0 -0
- {django_ninja_aio_crud-2.11.0 → django_ninja_aio_crud-2.11.2}/requirements.dev.txt +0 -0
- {django_ninja_aio_crud-2.11.0 → django_ninja_aio_crud-2.11.2}/run-local-coverage.sh +0 -0
- {django_ninja_aio_crud-2.11.0 → django_ninja_aio_crud-2.11.2}/tests/__init__.py +0 -0
- {django_ninja_aio_crud-2.11.0 → django_ninja_aio_crud-2.11.2}/tests/core/__init__.py +0 -0
- {django_ninja_aio_crud-2.11.0 → django_ninja_aio_crud-2.11.2}/tests/core/test_decorators.py +0 -0
- {django_ninja_aio_crud-2.11.0 → django_ninja_aio_crud-2.11.2}/tests/core/test_exceptions_api.py +0 -0
- {django_ninja_aio_crud-2.11.0 → django_ninja_aio_crud-2.11.2}/tests/generics/__init__.py +0 -0
- {django_ninja_aio_crud-2.11.0 → django_ninja_aio_crud-2.11.2}/tests/generics/literals.py +0 -0
- {django_ninja_aio_crud-2.11.0 → django_ninja_aio_crud-2.11.2}/tests/generics/models.py +0 -0
- {django_ninja_aio_crud-2.11.0 → django_ninja_aio_crud-2.11.2}/tests/generics/request.py +0 -0
- {django_ninja_aio_crud-2.11.0 → django_ninja_aio_crud-2.11.2}/tests/generics/views.py +0 -0
- {django_ninja_aio_crud-2.11.0 → django_ninja_aio_crud-2.11.2}/tests/helpers/__init__.py +0 -0
- {django_ninja_aio_crud-2.11.0 → django_ninja_aio_crud-2.11.2}/tests/helpers/test_many_to_many_api.py +0 -0
- {django_ninja_aio_crud-2.11.0 → django_ninja_aio_crud-2.11.2}/tests/models/__init__.py +0 -0
- {django_ninja_aio_crud-2.11.0 → django_ninja_aio_crud-2.11.2}/tests/models/test_model_util.py +0 -0
- {django_ninja_aio_crud-2.11.0 → django_ninja_aio_crud-2.11.2}/tests/models/test_models_extra.py +0 -0
- {django_ninja_aio_crud-2.11.0 → django_ninja_aio_crud-2.11.2}/tests/test_app/__init__.py +0 -0
- {django_ninja_aio_crud-2.11.0 → django_ninja_aio_crud-2.11.2}/tests/test_app/models.py +0 -0
- {django_ninja_aio_crud-2.11.0 → django_ninja_aio_crud-2.11.2}/tests/test_app/schema.py +0 -0
- {django_ninja_aio_crud-2.11.0 → django_ninja_aio_crud-2.11.2}/tests/test_app/serializers.py +0 -0
- {django_ninja_aio_crud-2.11.0 → django_ninja_aio_crud-2.11.2}/tests/test_app/views.py +0 -0
- {django_ninja_aio_crud-2.11.0 → django_ninja_aio_crud-2.11.2}/tests/test_auth.py +0 -0
- {django_ninja_aio_crud-2.11.0 → django_ninja_aio_crud-2.11.2}/tests/test_decorators.py +0 -0
- {django_ninja_aio_crud-2.11.0 → django_ninja_aio_crud-2.11.2}/tests/test_exceptions.py +0 -0
- {django_ninja_aio_crud-2.11.0 → django_ninja_aio_crud-2.11.2}/tests/test_query_util.py +0 -0
- {django_ninja_aio_crud-2.11.0 → django_ninja_aio_crud-2.11.2}/tests/test_serializers.py +0 -0
- {django_ninja_aio_crud-2.11.0 → django_ninja_aio_crud-2.11.2}/tests/test_settings.py +0 -0
- {django_ninja_aio_crud-2.11.0 → django_ninja_aio_crud-2.11.2}/tests/views/__init__.py +0 -0
- {django_ninja_aio_crud-2.11.0 → django_ninja_aio_crud-2.11.2}/tests/views/test_views.py +0 -0
- {django_ninja_aio_crud-2.11.0 → django_ninja_aio_crud-2.11.2}/tests/views/test_viewset.py +0 -0
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# ORJSON Renderer
|
|
2
|
+
|
|
3
|
+
This package uses an internal ORJSON-based renderer that automatically handles JSON serialization with support for special types.
|
|
4
|
+
|
|
5
|
+
## Configuration
|
|
6
|
+
|
|
7
|
+
Configure serialization options via Django settings:
|
|
8
|
+
|
|
9
|
+
```python
|
|
10
|
+
# settings.py
|
|
11
|
+
import orjson
|
|
12
|
+
|
|
13
|
+
# Single option
|
|
14
|
+
NINJA_AIO_ORJSON_RENDERER_OPTION = orjson.OPT_INDENT_2
|
|
15
|
+
|
|
16
|
+
# Multiple options (bitwise OR)
|
|
17
|
+
NINJA_AIO_ORJSON_RENDERER_OPTION = (
|
|
18
|
+
orjson.OPT_INDENT_2 | orjson.OPT_NON_STR_KEYS
|
|
19
|
+
)
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
Notes:
|
|
23
|
+
|
|
24
|
+
- The value is an orjson option bitmask (e.g., `orjson.OPT_INDENT_2`, `orjson.OPT_NON_STR_KEYS`), and you can combine multiple options using `|`.
|
|
25
|
+
- If not set, the default `orjson.dumps` options are used.
|
|
26
|
+
|
|
27
|
+
## HttpResponse Passthrough
|
|
28
|
+
|
|
29
|
+
The renderer automatically detects when you return a Django `HttpResponse` (or any `HttpResponseBase` subclass) and passes it through without JSON serialization. This allows you to return custom responses with different content types.
|
|
30
|
+
|
|
31
|
+
```python
|
|
32
|
+
from django.http import HttpResponse
|
|
33
|
+
|
|
34
|
+
@api.get("/public-key")
|
|
35
|
+
def get_public_key(request):
|
|
36
|
+
return HttpResponse(
|
|
37
|
+
settings.JWT_PUBLIC_KEY.as_pem(),
|
|
38
|
+
content_type="application/x-pem-file",
|
|
39
|
+
status=200,
|
|
40
|
+
)
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
This also works with `StreamingHttpResponse` for large files:
|
|
44
|
+
|
|
45
|
+
```python
|
|
46
|
+
from django.http import StreamingHttpResponse
|
|
47
|
+
|
|
48
|
+
@api.get("/download")
|
|
49
|
+
def download_file(request):
|
|
50
|
+
return StreamingHttpResponse(
|
|
51
|
+
file_iterator(),
|
|
52
|
+
content_type="application/octet-stream",
|
|
53
|
+
)
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
!!! note
|
|
57
|
+
When returning an `HttpResponse` directly, the response bypasses the renderer entirely. Set the `status` parameter on the `HttpResponse` itself rather than using a tuple return like `return 200, HttpResponse(...)`.
|
|
@@ -601,7 +601,7 @@ class ModelUtil:
|
|
|
601
601
|
async def _bump_object_from_schema(
|
|
602
602
|
self, obj: type["ModelSerializer"] | models.Model, schema: Schema
|
|
603
603
|
):
|
|
604
|
-
return (await sync_to_async(schema.from_orm)(obj)).model_dump(
|
|
604
|
+
return (await sync_to_async(schema.from_orm)(obj)).model_dump()
|
|
605
605
|
|
|
606
606
|
def _validate_read_params(self, request: HttpRequest, query_data: QuerySchema):
|
|
607
607
|
"""Validate required parameters for read operations."""
|
|
@@ -3,7 +3,7 @@ from ipaddress import IPv4Address, IPv6Address
|
|
|
3
3
|
from typing import Any
|
|
4
4
|
|
|
5
5
|
import orjson
|
|
6
|
-
from django.http import HttpRequest
|
|
6
|
+
from django.http import HttpRequest, HttpResponseBase
|
|
7
7
|
from django.conf import settings
|
|
8
8
|
from ninja.renderers import BaseRenderer
|
|
9
9
|
from pydantic import AnyUrl
|
|
@@ -14,6 +14,8 @@ class ORJSONRenderer(BaseRenderer):
|
|
|
14
14
|
option = getattr(settings, "NINJA_AIO_ORJSON_RENDERER_OPTION", None)
|
|
15
15
|
|
|
16
16
|
def render(self, request: HttpRequest, data: dict, *, response_status):
|
|
17
|
+
if isinstance(data, HttpResponseBase):
|
|
18
|
+
return data
|
|
17
19
|
try:
|
|
18
20
|
old_d = data
|
|
19
21
|
for k, v in old_d.items():
|
{django_ninja_aio_crud-2.11.0 → django_ninja_aio_crud-2.11.2}/tests/core/test_renderer_parser.py
RENAMED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import base64
|
|
2
2
|
from ipaddress import IPv4Address, IPv6Address
|
|
3
3
|
|
|
4
|
+
from django.http import HttpResponse, StreamingHttpResponse
|
|
4
5
|
from django.test import TestCase, tag
|
|
5
6
|
import orjson
|
|
6
7
|
from ninja_aio.renders import ORJSONRenderer
|
|
@@ -73,3 +74,25 @@ class ORJSONRendererParserTestCase(TestCase):
|
|
|
73
74
|
rendered = self.renderer.render(DummyRequest(), int_data, response_status=200)
|
|
74
75
|
decoded = orjson.loads(rendered)
|
|
75
76
|
self.assertEqual(decoded, 42)
|
|
77
|
+
|
|
78
|
+
def test_renderer_http_response_passthrough(self):
|
|
79
|
+
"""Test that renderer returns HttpResponse as-is without serialization."""
|
|
80
|
+
response = HttpResponse(
|
|
81
|
+
b"-----BEGIN PUBLIC KEY-----\ntest\n-----END PUBLIC KEY-----",
|
|
82
|
+
content_type="application/x-pem-file",
|
|
83
|
+
status=200,
|
|
84
|
+
)
|
|
85
|
+
rendered = self.renderer.render(DummyRequest(), response, response_status=200)
|
|
86
|
+
self.assertIs(rendered, response)
|
|
87
|
+
self.assertEqual(rendered.content, b"-----BEGIN PUBLIC KEY-----\ntest\n-----END PUBLIC KEY-----")
|
|
88
|
+
self.assertEqual(rendered["Content-Type"], "application/x-pem-file")
|
|
89
|
+
|
|
90
|
+
def test_renderer_streaming_http_response_passthrough(self):
|
|
91
|
+
"""Test that renderer returns StreamingHttpResponse as-is."""
|
|
92
|
+
response = StreamingHttpResponse(
|
|
93
|
+
iter([b"chunk1", b"chunk2"]),
|
|
94
|
+
content_type="application/octet-stream",
|
|
95
|
+
)
|
|
96
|
+
rendered = self.renderer.render(DummyRequest(), response, response_status=200)
|
|
97
|
+
self.assertIs(rendered, response)
|
|
98
|
+
self.assertEqual(rendered["Content-Type"], "application/octet-stream")
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
# ORJSON renderer option
|
|
2
|
-
|
|
3
|
-
This package uses an internal ORJSON-based renderer. Configure serialization options via Django settings:
|
|
4
|
-
|
|
5
|
-
```python
|
|
6
|
-
# settings.py
|
|
7
|
-
import orjson
|
|
8
|
-
|
|
9
|
-
# Single option
|
|
10
|
-
NINJA_AIO_ORJSON_RENDERER_OPTION = orjson.OPT_INDENT_2
|
|
11
|
-
|
|
12
|
-
# Multiple options (bitwise OR)
|
|
13
|
-
NINJA_AIO_ORJSON_RENDERER_OPTION = (
|
|
14
|
-
orjson.OPT_INDENT_2 | orjson.OPT_NON_STR_KEYS
|
|
15
|
-
)
|
|
16
|
-
```
|
|
17
|
-
|
|
18
|
-
Notes:
|
|
19
|
-
- The value is an orjson option bitmask (e.g., `orjson.OPT_INDENT_2`, `orjson.OPT_NON_STR_KEYS`), and you can combine multiple options using `|`.
|
|
20
|
-
- If not set, the default `orjson.dumps` options are used.
|
|
File without changes
|
{django_ninja_aio_crud-2.11.0 → django_ninja_aio_crud-2.11.2}/.github/workflows/coverage.yml
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
|
{django_ninja_aio_crud-2.11.0 → django_ninja_aio_crud-2.11.2}/docs/api/models/model_serializer.md
RENAMED
|
File without changes
|
|
File without changes
|
{django_ninja_aio_crud-2.11.0 → django_ninja_aio_crud-2.11.2}/docs/api/models/serializers.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{django_ninja_aio_crud-2.11.0 → django_ninja_aio_crud-2.11.2}/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
|
|
File without changes
|
{django_ninja_aio_crud-2.11.0 → django_ninja_aio_crud-2.11.2}/docs/getting_started/installation.md
RENAMED
|
File without changes
|
{django_ninja_aio_crud-2.11.0 → django_ninja_aio_crud-2.11.2}/docs/getting_started/quick_start.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
|
{django_ninja_aio_crud-2.11.0 → django_ninja_aio_crud-2.11.2}/docs/tutorial/authentication.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
|
{django_ninja_aio_crud-2.11.0 → django_ninja_aio_crud-2.11.2}/ninja_aio/decorators/__init__.py
RENAMED
|
File without changes
|
{django_ninja_aio_crud-2.11.0 → django_ninja_aio_crud-2.11.2}/ninja_aio/decorators/operations.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{django_ninja_aio_crud-2.11.0 → django_ninja_aio_crud-2.11.2}/ninja_aio/factory/operations.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{django_ninja_aio_crud-2.11.0 → django_ninja_aio_crud-2.11.2}/ninja_aio/models/serializers.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
|
|
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.11.0 → django_ninja_aio_crud-2.11.2}/tests/core/test_exceptions_api.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.11.0 → django_ninja_aio_crud-2.11.2}/tests/helpers/test_many_to_many_api.py
RENAMED
|
File without changes
|
|
File without changes
|
{django_ninja_aio_crud-2.11.0 → django_ninja_aio_crud-2.11.2}/tests/models/test_model_util.py
RENAMED
|
File without changes
|
{django_ninja_aio_crud-2.11.0 → django_ninja_aio_crud-2.11.2}/tests/models/test_models_extra.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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|