fastapi-sqlalchemy-toolkit 0.7.16__tar.gz → 0.7.17__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.
Files changed (59) hide show
  1. {fastapi_sqlalchemy_toolkit-0.7.16 → fastapi_sqlalchemy_toolkit-0.7.17}/PKG-INFO +1 -1
  2. {fastapi_sqlalchemy_toolkit-0.7.16 → fastapi_sqlalchemy_toolkit-0.7.17}/fastapi_sqlalchemy_toolkit/model_manager.py +8 -2
  3. {fastapi_sqlalchemy_toolkit-0.7.16 → fastapi_sqlalchemy_toolkit-0.7.17}/pyproject.toml +1 -1
  4. {fastapi_sqlalchemy_toolkit-0.7.16 → fastapi_sqlalchemy_toolkit-0.7.17}/.flake8 +0 -0
  5. {fastapi_sqlalchemy_toolkit-0.7.16 → fastapi_sqlalchemy_toolkit-0.7.17}/.github/workflows/docker-test.yml +0 -0
  6. {fastapi_sqlalchemy_toolkit-0.7.16 → fastapi_sqlalchemy_toolkit-0.7.17}/.github/workflows/python-publish.yml +0 -0
  7. {fastapi_sqlalchemy_toolkit-0.7.16 → fastapi_sqlalchemy_toolkit-0.7.17}/.gitignore +0 -0
  8. {fastapi_sqlalchemy_toolkit-0.7.16 → fastapi_sqlalchemy_toolkit-0.7.17}/.pylintrc +0 -0
  9. {fastapi_sqlalchemy_toolkit-0.7.16 → fastapi_sqlalchemy_toolkit-0.7.17}/AUTHORS +0 -0
  10. {fastapi_sqlalchemy_toolkit-0.7.16 → fastapi_sqlalchemy_toolkit-0.7.17}/LICENSE +0 -0
  11. {fastapi_sqlalchemy_toolkit-0.7.16 → fastapi_sqlalchemy_toolkit-0.7.17}/Makefile +0 -0
  12. {fastapi_sqlalchemy_toolkit-0.7.16 → fastapi_sqlalchemy_toolkit-0.7.17}/README.md +0 -0
  13. {fastapi_sqlalchemy_toolkit-0.7.16 → fastapi_sqlalchemy_toolkit-0.7.17}/docs/benefits.md +0 -0
  14. {fastapi_sqlalchemy_toolkit-0.7.16 → fastapi_sqlalchemy_toolkit-0.7.17}/docs/db_validation.md +0 -0
  15. {fastapi_sqlalchemy_toolkit-0.7.16 → fastapi_sqlalchemy_toolkit-0.7.17}/docs/extension.md +0 -0
  16. {fastapi_sqlalchemy_toolkit-0.7.16 → fastapi_sqlalchemy_toolkit-0.7.17}/docs/filtering.md +0 -0
  17. {fastapi_sqlalchemy_toolkit-0.7.16 → fastapi_sqlalchemy_toolkit-0.7.17}/docs/index.md +0 -0
  18. {fastapi_sqlalchemy_toolkit-0.7.16 → fastapi_sqlalchemy_toolkit-0.7.17}/docs/ru/benefits.md +0 -0
  19. {fastapi_sqlalchemy_toolkit-0.7.16 → fastapi_sqlalchemy_toolkit-0.7.17}/docs/ru/db_validation.md +0 -0
  20. {fastapi_sqlalchemy_toolkit-0.7.16 → fastapi_sqlalchemy_toolkit-0.7.17}/docs/ru/extension.md +0 -0
  21. {fastapi_sqlalchemy_toolkit-0.7.16 → fastapi_sqlalchemy_toolkit-0.7.17}/docs/ru/filtering.md +0 -0
  22. {fastapi_sqlalchemy_toolkit-0.7.16 → fastapi_sqlalchemy_toolkit-0.7.17}/docs/ru/index.md +0 -0
  23. {fastapi_sqlalchemy_toolkit-0.7.16 → fastapi_sqlalchemy_toolkit-0.7.17}/docs/ru/sorting.md +0 -0
  24. {fastapi_sqlalchemy_toolkit-0.7.16 → fastapi_sqlalchemy_toolkit-0.7.17}/docs/ru/transactions.md +0 -0
  25. {fastapi_sqlalchemy_toolkit-0.7.16 → fastapi_sqlalchemy_toolkit-0.7.17}/docs/ru/usage.md +0 -0
  26. {fastapi_sqlalchemy_toolkit-0.7.16 → fastapi_sqlalchemy_toolkit-0.7.17}/docs/ru/utils.md +0 -0
  27. {fastapi_sqlalchemy_toolkit-0.7.16 → fastapi_sqlalchemy_toolkit-0.7.17}/docs/sorting.md +0 -0
  28. {fastapi_sqlalchemy_toolkit-0.7.16 → fastapi_sqlalchemy_toolkit-0.7.17}/docs/transactions.md +0 -0
  29. {fastapi_sqlalchemy_toolkit-0.7.16 → fastapi_sqlalchemy_toolkit-0.7.17}/docs/usage.md +0 -0
  30. {fastapi_sqlalchemy_toolkit-0.7.16 → fastapi_sqlalchemy_toolkit-0.7.17}/docs/utils.md +0 -0
  31. {fastapi_sqlalchemy_toolkit-0.7.16 → fastapi_sqlalchemy_toolkit-0.7.17}/examples/app/.env +0 -0
  32. {fastapi_sqlalchemy_toolkit-0.7.16 → fastapi_sqlalchemy_toolkit-0.7.17}/examples/app/__init__.py +0 -0
  33. {fastapi_sqlalchemy_toolkit-0.7.16 → fastapi_sqlalchemy_toolkit-0.7.17}/examples/app/api/__init__.py +0 -0
  34. {fastapi_sqlalchemy_toolkit-0.7.16 → fastapi_sqlalchemy_toolkit-0.7.17}/examples/app/api/api.py +0 -0
  35. {fastapi_sqlalchemy_toolkit-0.7.16 → fastapi_sqlalchemy_toolkit-0.7.17}/examples/app/api/deps.py +0 -0
  36. {fastapi_sqlalchemy_toolkit-0.7.16 → fastapi_sqlalchemy_toolkit-0.7.17}/examples/app/api/endpoints/__init__.py +0 -0
  37. {fastapi_sqlalchemy_toolkit-0.7.16 → fastapi_sqlalchemy_toolkit-0.7.17}/examples/app/api/endpoints/child.py +0 -0
  38. {fastapi_sqlalchemy_toolkit-0.7.16 → fastapi_sqlalchemy_toolkit-0.7.17}/examples/app/config.py +0 -0
  39. {fastapi_sqlalchemy_toolkit-0.7.16 → fastapi_sqlalchemy_toolkit-0.7.17}/examples/app/db.py +0 -0
  40. {fastapi_sqlalchemy_toolkit-0.7.16 → fastapi_sqlalchemy_toolkit-0.7.17}/examples/app/main.py +0 -0
  41. {fastapi_sqlalchemy_toolkit-0.7.16 → fastapi_sqlalchemy_toolkit-0.7.17}/examples/app/managers.py +0 -0
  42. {fastapi_sqlalchemy_toolkit-0.7.16 → fastapi_sqlalchemy_toolkit-0.7.17}/examples/app/models.py +0 -0
  43. {fastapi_sqlalchemy_toolkit-0.7.16 → fastapi_sqlalchemy_toolkit-0.7.17}/examples/app/schemas.py +0 -0
  44. {fastapi_sqlalchemy_toolkit-0.7.16 → fastapi_sqlalchemy_toolkit-0.7.17}/fastapi_sqlalchemy_toolkit/__init__.py +0 -0
  45. {fastapi_sqlalchemy_toolkit-0.7.16 → fastapi_sqlalchemy_toolkit-0.7.17}/fastapi_sqlalchemy_toolkit/filters.py +0 -0
  46. {fastapi_sqlalchemy_toolkit-0.7.16 → fastapi_sqlalchemy_toolkit-0.7.17}/fastapi_sqlalchemy_toolkit/ordering.py +0 -0
  47. {fastapi_sqlalchemy_toolkit-0.7.16 → fastapi_sqlalchemy_toolkit-0.7.17}/fastapi_sqlalchemy_toolkit/utils.py +0 -0
  48. {fastapi_sqlalchemy_toolkit-0.7.16 → fastapi_sqlalchemy_toolkit-0.7.17}/mkdocs.yml +0 -0
  49. {fastapi_sqlalchemy_toolkit-0.7.16 → fastapi_sqlalchemy_toolkit-0.7.17}/requirements/base.txt +0 -0
  50. {fastapi_sqlalchemy_toolkit-0.7.16 → fastapi_sqlalchemy_toolkit-0.7.17}/requirements/docs.txt +0 -0
  51. {fastapi_sqlalchemy_toolkit-0.7.16 → fastapi_sqlalchemy_toolkit-0.7.17}/requirements/lint.txt +0 -0
  52. {fastapi_sqlalchemy_toolkit-0.7.16 → fastapi_sqlalchemy_toolkit-0.7.17}/requirements/test.txt +0 -0
  53. {fastapi_sqlalchemy_toolkit-0.7.16 → fastapi_sqlalchemy_toolkit-0.7.17}/tests/Dockerfile +0 -0
  54. {fastapi_sqlalchemy_toolkit-0.7.16 → fastapi_sqlalchemy_toolkit-0.7.17}/tests/__init__.py +0 -0
  55. {fastapi_sqlalchemy_toolkit-0.7.16 → fastapi_sqlalchemy_toolkit-0.7.17}/tests/conftest.py +0 -0
  56. {fastapi_sqlalchemy_toolkit-0.7.16 → fastapi_sqlalchemy_toolkit-0.7.17}/tests/db.py +0 -0
  57. {fastapi_sqlalchemy_toolkit-0.7.16 → fastapi_sqlalchemy_toolkit-0.7.17}/tests/docker-compose.yml +0 -0
  58. {fastapi_sqlalchemy_toolkit-0.7.16 → fastapi_sqlalchemy_toolkit-0.7.17}/tests/models.py +0 -0
  59. {fastapi_sqlalchemy_toolkit-0.7.16 → fastapi_sqlalchemy_toolkit-0.7.17}/tests/test_public_methods.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fastapi_sqlalchemy_toolkit
3
- Version: 0.7.16
3
+ Version: 0.7.17
4
4
  Summary: FastAPI SQLAlchemy Toolkit
5
5
  Project-URL: Homepage, https://github.com/e-kondr01/fastapi-sqlalchemy-toolkit
6
6
  Author-email: Egor Kondrashov <e.kondr01@gmail.com>
@@ -1075,10 +1075,16 @@ class ModelManager(Generic[ModelT, CreateSchemaT, UpdateSchemaT]):
1075
1075
  Проверить, не нарушаются ли UniqueConstraint модели.
1076
1076
  """
1077
1077
  for unique_constraint in self.unique_constraints:
1078
+ null_found = False
1078
1079
  query = {}
1079
1080
  for field in unique_constraint:
1080
- if in_obj[field] is not None:
1081
- query[field] = in_obj[field]
1081
+ if in_obj[field] is None:
1082
+ null_found = True
1083
+ break
1084
+
1085
+ query[field] = in_obj[field]
1086
+ if null_found:
1087
+ continue
1082
1088
  if query:
1083
1089
  object_exists = await self.exists(
1084
1090
  session, **query, where=(self.model.id != in_obj.get("id"))
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "fastapi_sqlalchemy_toolkit"
7
- version = "0.7.16"
7
+ version = "0.7.17"
8
8
  authors = [
9
9
  { name="Egor Kondrashov", email="e.kondr01@gmail.com" },
10
10
  ]