Performs prefetch query for selected models names. :param models: list of already parsed main Models from main query :type models: list[Model] :param rows: database rows from main query :type rows: list[sqlalchemy.engine.result.RowProxy] :return: lis
(
self, models: list["T"], rows: list
)
| 149 | ) |
| 150 | |
| 151 | async def _prefetch_related_models( |
| 152 | self, models: list["T"], rows: list |
| 153 | ) -> list["T"]: |
| 154 | """ |
| 155 | Performs prefetch query for selected models names. |
| 156 | |
| 157 | :param models: list of already parsed main Models from main query |
| 158 | :type models: list[Model] |
| 159 | :param rows: database rows from main query |
| 160 | :type rows: list[sqlalchemy.engine.result.RowProxy] |
| 161 | :return: list of models with prefetch models populated |
| 162 | :rtype: list[Model] |
| 163 | """ |
| 164 | query = PrefetchQuery( |
| 165 | model_cls=self.model, |
| 166 | excludable=self._excludable, |
| 167 | prefetch_related=self._prefetch_related, |
| 168 | select_related=self._select_related, |
| 169 | orders_by=self.order_bys, |
| 170 | ) |
| 171 | return await query.prefetch_related(models=models) # type: ignore |
| 172 | |
| 173 | async def _process_query_result_rows( |
| 174 | self, rows: list, plan_cache: Optional[dict] = None |
no test coverage detected