django-ninja-aio-crud 0.10.2__py3-none-any.whl → 0.10.3__py3-none-any.whl

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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: django-ninja-aio-crud
3
- Version: 0.10.2
3
+ Version: 0.10.3
4
4
  Summary: Django Ninja AIO CRUD - Rest Framework
5
5
  Author: Giuseppe Casillo
6
6
  Requires-Python: >=3.10
@@ -1,14 +1,14 @@
1
- ninja_aio/__init__.py,sha256=kXlRrvKYNdU9gmbossk8GM22iSY4k_go-OeZVJlQyn4,120
1
+ ninja_aio/__init__.py,sha256=fZFssPDWLCd-cBFhbchuSNtmVBoW_DIr8XNcWxN2Y_4,120
2
2
  ninja_aio/api.py,sha256=Fe6l3YCy7MW5TY4-Lbl80CFuK2NT2Y7tHfmqPk6Mqak,1735
3
3
  ninja_aio/auth.py,sha256=c_ILAySswjbSIqnE9Y0G5n1qreXzAtSAaWfrhyer-i8,1283
4
4
  ninja_aio/exceptions.py,sha256=gPnZX1Do2GXudbU8wDYkwhO70Qj0ZNrIJJ2UXRs9vYk,2241
5
- ninja_aio/models.py,sha256=lMipICWuLV5zETVp56b-29R-P0gBWEzXT_z3uaTlkYE,18769
5
+ ninja_aio/models.py,sha256=r-Ku5EOSTq1eAeXZHVz0ILTyXBmbS4o46JYA_Cp_B8w,18969
6
6
  ninja_aio/parsers.py,sha256=e_4lGCPV7zs-HTqtdJTc8yQD2KPAn9njbL8nF_Mmgkc,153
7
7
  ninja_aio/renders.py,sha256=0eYklRKd59aV4cZDom5vLZyA99Ob17OwkpMybsRXvyg,1970
8
8
  ninja_aio/schemas.py,sha256=Fzu2ko3kUxkOnrjG5QYdmOXZd2gcpYGjVuocCW44NfQ,473
9
9
  ninja_aio/types.py,sha256=TJSGlA7bt4g9fvPhJ7gzH5tKbLagPmZUzfgttEOp4xs,468
10
10
  ninja_aio/views.py,sha256=Mb38z0QS9Iwe-qB9wuuxcfCOJymRI9SppbHOfns6yHg,20944
11
- django_ninja_aio_crud-0.10.2.dist-info/licenses/LICENSE,sha256=yrDAYcm0gRp_Qyzo3GQa4BjYjWRkAhGC8QRva__RYq0,1073
12
- django_ninja_aio_crud-0.10.2.dist-info/WHEEL,sha256=G2gURzTEtmeR8nrdXUJfNiB3VYVxigPQ-bEQujpNiNs,82
13
- django_ninja_aio_crud-0.10.2.dist-info/METADATA,sha256=NkJRoyTgKiXOQfJyKu91NJqdNF3JOJxHHZQ6QC-ykeU,14139
14
- django_ninja_aio_crud-0.10.2.dist-info/RECORD,,
11
+ django_ninja_aio_crud-0.10.3.dist-info/licenses/LICENSE,sha256=yrDAYcm0gRp_Qyzo3GQa4BjYjWRkAhGC8QRva__RYq0,1073
12
+ django_ninja_aio_crud-0.10.3.dist-info/WHEEL,sha256=G2gURzTEtmeR8nrdXUJfNiB3VYVxigPQ-bEQujpNiNs,82
13
+ django_ninja_aio_crud-0.10.3.dist-info/METADATA,sha256=FoNR5DJfYjhC9C9wJyLRsUZnww65ScjS7RpT-av5OxQ,14139
14
+ django_ninja_aio_crud-0.10.3.dist-info/RECORD,,
ninja_aio/__init__.py CHANGED
@@ -1,6 +1,6 @@
1
1
  """Django Ninja AIO CRUD - Rest Framework"""
2
2
 
3
- __version__ = "0.10.2"
3
+ __version__ = "0.10.3"
4
4
 
5
5
  from .api import NinjaAIO
6
6
 
ninja_aio/models.py CHANGED
@@ -33,6 +33,10 @@ class ModelUtil:
33
33
  def serializable_fields(self):
34
34
  if isinstance(self.model, ModelSerializerMeta):
35
35
  return self.model.get_fields("read")
36
+ return self.model_fields
37
+
38
+ @property
39
+ def model_fields(self):
36
40
  return [field.name for field in self.model._meta.get_fields()]
37
41
 
38
42
  @property
@@ -106,13 +110,17 @@ class ModelUtil:
106
110
  customs = {}
107
111
  optionals = []
108
112
  if isinstance(self.model, ModelSerializerMeta):
109
- customs = {k: v for k, v in payload.items() if self.model.is_custom(k)}
113
+ customs = {
114
+ k: v
115
+ for k, v in payload.items()
116
+ if self.model.is_custom(k) and k not in self.model_fields
117
+ }
110
118
  optionals = [
111
119
  k for k, v in payload.items() if self.model.is_optional(k) and v is None
112
120
  ]
113
121
  for k, v in payload.items():
114
122
  if isinstance(self.model, ModelSerializerMeta):
115
- if self.model.is_custom(k):
123
+ if self.model.is_custom(k) and k not in self.model_fields:
116
124
  continue
117
125
  if self.model.is_optional(k) and v is None:
118
126
  continue