Fix map
This commit is contained in:
@@ -26,10 +26,14 @@ class BaseDataloader:
|
||||
|
||||
class SingleModelByIdDataloader(BaseDataloader):
|
||||
async def load(self, ids: list[int]):
|
||||
ids_set = {id_ for id_ in set(ids) if id_ is not None}
|
||||
if not ids_set:
|
||||
return [None for _ in ids]
|
||||
|
||||
async with async_session() as session:
|
||||
query = (
|
||||
self.query_builder.get_simple_query(extra_select=[self.relationship_column], include_deleted=True)
|
||||
.filter(self.relationship_column.in_(set(ids)))
|
||||
.filter(self.relationship_column.in_(ids_set))
|
||||
.filter(*self.filters)
|
||||
)
|
||||
|
||||
@@ -62,13 +66,13 @@ class MultiModelsDataloader(BaseDataloader):
|
||||
order_by = [model.id.desc()] # defaultne radit od nejnovejsich zaznamu
|
||||
self.order_by = order_by
|
||||
|
||||
def get_query(self, ids: list[int]):
|
||||
def get_query(self, ids: set[int]):
|
||||
query = (
|
||||
self.query_builder.get_simple_query(
|
||||
extra_select=[self.relationship_column] + self.extra_select,
|
||||
order_by=self.order_by
|
||||
)
|
||||
.filter(self.relationship_column.in_(set(ids)))
|
||||
.filter(self.relationship_column.in_(ids))
|
||||
.filter(*self.filters)
|
||||
)
|
||||
|
||||
@@ -80,8 +84,12 @@ class MultiModelsDataloader(BaseDataloader):
|
||||
|
||||
return query
|
||||
|
||||
async def load(self, ids: list[int]):
|
||||
query = self.get_query(ids)
|
||||
async def load(self, ids: list[int]) -> list:
|
||||
ids_set = {id_ for id_ in set(ids) if id_ is not None}
|
||||
if not ids_set:
|
||||
return [[] for _ in ids]
|
||||
|
||||
query = self.get_query(ids_set)
|
||||
|
||||
async with async_session() as db:
|
||||
data = (await db.execute(query)).all()
|
||||
|
||||
Reference in New Issue
Block a user