rb-commons 0.5.23__tar.gz → 0.5.25__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 (33) hide show
  1. {rb_commons-0.5.23 → rb_commons-0.5.25}/PKG-INFO +1 -1
  2. {rb_commons-0.5.23 → rb_commons-0.5.25}/rb_commons/orm/managers.py +14 -2
  3. {rb_commons-0.5.23 → rb_commons-0.5.25}/rb_commons.egg-info/PKG-INFO +1 -1
  4. {rb_commons-0.5.23 → rb_commons-0.5.25}/setup.py +1 -1
  5. {rb_commons-0.5.23 → rb_commons-0.5.25}/README.md +0 -0
  6. {rb_commons-0.5.23 → rb_commons-0.5.25}/rb_commons/__init__.py +0 -0
  7. {rb_commons-0.5.23 → rb_commons-0.5.25}/rb_commons/broker/__init__.py +0 -0
  8. {rb_commons-0.5.23 → rb_commons-0.5.25}/rb_commons/broker/consumer.py +0 -0
  9. {rb_commons-0.5.23 → rb_commons-0.5.25}/rb_commons/configs/__init__.py +0 -0
  10. {rb_commons-0.5.23 → rb_commons-0.5.25}/rb_commons/configs/config.py +0 -0
  11. {rb_commons-0.5.23 → rb_commons-0.5.25}/rb_commons/configs/injections.py +0 -0
  12. {rb_commons-0.5.23 → rb_commons-0.5.25}/rb_commons/configs/rabbitmq.py +0 -0
  13. {rb_commons-0.5.23 → rb_commons-0.5.25}/rb_commons/configs/v2/__init__.py +0 -0
  14. {rb_commons-0.5.23 → rb_commons-0.5.25}/rb_commons/configs/v2/config.py +0 -0
  15. {rb_commons-0.5.23 → rb_commons-0.5.25}/rb_commons/http/__init__.py +0 -0
  16. {rb_commons-0.5.23 → rb_commons-0.5.25}/rb_commons/http/base_api.py +0 -0
  17. {rb_commons-0.5.23 → rb_commons-0.5.25}/rb_commons/http/consul.py +0 -0
  18. {rb_commons-0.5.23 → rb_commons-0.5.25}/rb_commons/http/exceptions.py +0 -0
  19. {rb_commons-0.5.23 → rb_commons-0.5.25}/rb_commons/orm/__init__.py +0 -0
  20. {rb_commons-0.5.23 → rb_commons-0.5.25}/rb_commons/orm/exceptions.py +0 -0
  21. {rb_commons-0.5.23 → rb_commons-0.5.25}/rb_commons/orm/services.py +0 -0
  22. {rb_commons-0.5.23 → rb_commons-0.5.25}/rb_commons/permissions/__init__.py +0 -0
  23. {rb_commons-0.5.23 → rb_commons-0.5.25}/rb_commons/permissions/role_permissions.py +0 -0
  24. {rb_commons-0.5.23 → rb_commons-0.5.25}/rb_commons/schemes/__init__.py +0 -0
  25. {rb_commons-0.5.23 → rb_commons-0.5.25}/rb_commons/schemes/jwt.py +0 -0
  26. {rb_commons-0.5.23 → rb_commons-0.5.25}/rb_commons/schemes/pagination.py +0 -0
  27. {rb_commons-0.5.23 → rb_commons-0.5.25}/rb_commons/utils/__init__.py +0 -0
  28. {rb_commons-0.5.23 → rb_commons-0.5.25}/rb_commons/utils/media.py +0 -0
  29. {rb_commons-0.5.23 → rb_commons-0.5.25}/rb_commons.egg-info/SOURCES.txt +0 -0
  30. {rb_commons-0.5.23 → rb_commons-0.5.25}/rb_commons.egg-info/dependency_links.txt +0 -0
  31. {rb_commons-0.5.23 → rb_commons-0.5.25}/rb_commons.egg-info/requires.txt +0 -0
  32. {rb_commons-0.5.23 → rb_commons-0.5.25}/rb_commons.egg-info/top_level.txt +0 -0
  33. {rb_commons-0.5.23 → rb_commons-0.5.25}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: rb-commons
3
- Version: 0.5.23
3
+ Version: 0.5.25
4
4
  Summary: Commons of project and simplified orm based on sqlalchemy.
5
5
  Home-page: https://github.com/RoboSell-organization/rb-commons
6
6
  Author: Abdulvoris
@@ -97,6 +97,14 @@ class BaseManager(Generic[ModelType]):
97
97
  return None
98
98
 
99
99
  def _parse_lookup(self, lookup: str, value: Any):
100
+ root = lookup.split("__", 1)[0]
101
+
102
+ if hasattr(self.model, root):
103
+ attr0 = getattr(self.model, root)
104
+ if hasattr(attr0, "property") and isinstance(attr0.property, RelationshipProperty):
105
+ self._joins.add(root)
106
+ parts = lookup.split("__")
107
+
100
108
  parts = lookup.split("__")
101
109
  operator = "eq"
102
110
  if parts[-1] in {"eq", "ne", "gt", "lt", "gte", "lte", "in", "contains", "null"}:
@@ -468,9 +476,13 @@ class BaseManager(Generic[ModelType]):
468
476
  async def is_exists(self):
469
477
  self._ensure_filtered()
470
478
 
471
- stmt = select(self.model).filter(and_(*self.filters))
479
+ stmt = (
480
+ select(self.model)
481
+ .filter(and_(*self.filters))
482
+ .limit(1)
483
+ )
472
484
  result = await self.session.execute(stmt)
473
- return result.scalar_one_or_none() is not None
485
+ return result.scalars().first() is not None
474
486
 
475
487
  def has_relation(self, relation_name: str):
476
488
  relationship = getattr(self.model, relation_name)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: rb-commons
3
- Version: 0.5.23
3
+ Version: 0.5.25
4
4
  Summary: Commons of project and simplified orm based on sqlalchemy.
5
5
  Home-page: https://github.com/RoboSell-organization/rb-commons
6
6
  Author: Abdulvoris
@@ -5,7 +5,7 @@ with open("README.md", "r", encoding="utf-8") as fh:
5
5
 
6
6
  setup(
7
7
  name="rb-commons",
8
- version="0.5.23",
8
+ version="0.5.25",
9
9
  author="Abdulvoris",
10
10
  author_email="erkinovabdulvoris101@gmail.com",
11
11
  description="Commons of project and simplified orm based on sqlalchemy.",
File without changes
File without changes